site/static/medium/My-Experience-with-Atom-as-...

62 lines
7.3 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>My Experience with Atom as A Vim User - exported from Medium</title><style>
* {
font-family: Georgia, Cambria, "Times New Roman", Times, serif;
}
html, body {
margin: 0;
padding: 0;
}
h1 {
font-size: 50px;
margin-bottom: 17px;
color: #333;
}
h2 {
font-size: 24px;
line-height: 1.6;
margin: 30px 0 0 0;
margin-bottom: 18px;
margin-top: 33px;
color: #333;
}
h3 {
font-size: 20px;
margin: 10px 0 20px 0;
color: #333;
}
header {
width: 640px;
margin: auto;
}
section {
width: 640px;
margin: auto;
}
section p {
margin-bottom: 27px;
font-size: 20px;
line-height: 1.6;
color: #333;
}
section img {
max-width: 640px;
}
footer {
padding: 0 20px;
margin: 50px 0;
text-align: center;
font-size: 18px;
}
</style></head><body><article>
<header>
<h1>My Experience with Atom as A Vim User</h1>
</header>
<section data-field="subtitle">
Historically, I am a Vim user. People know me as a very very heavy vim user. I have spent almost the last two years customizing my .vimrc…
</section>
<section data-field="body">
<section name="897f" class=" section--first section--last"><div class="section-divider layoutSingleColumn"><hr class="section-divider"></div><div class="section-content"><div class="section-inner layoutSingleColumn"><h3 name="6f96" id="6f96" class="graf--h3 graf--first">My Experience with Atom as A Vim User</h3><p name="082d" id="082d" class="graf--p">Historically, I am a Vim user. People know me as a very very heavy vim user. I have spent almost the last two years customizing <a target="_blank" href="https://github.com/Xe/dotfiles/blob/master/.vimrc" data-href="https://github.com/Xe/dotfiles/blob/master/.vimrc" class="markup--anchor markup--p-anchor" rel="nofollow">my .vimrc file</a> and I have parts of it mapped to the ways I think. Recently I have acquired both a Mac Pro and a Surface Pro 3, and my vim configuration didnt work on them. For a while I had used Docker and the image I made of my preferred dev environment to shim and hack around this.</p><figure name="8adf" id="8adf" class="graf--figure postField--outsetLeftImage"><div class="aspectRatioPlaceholder is-locked" style="max-width: 525px; max-height: 350px;"><div class="aspect-ratio-fill" style="padding-bottom: 66.7%;"></div><img class="graf-image" data-image-id="1*_nD4Ydgx9cOdBfYVXXsnsw.png" data-width="1059" data-height="706" data-action="zoom" data-action-value="1*_nD4Ydgx9cOdBfYVXXsnsw.png" src="https://d262ilb51hltx0.cloudfront.net/max/600/1*_nD4Ydgx9cOdBfYVXXsnsw.png"></div></figure><p name="ab08" id="ab08" class="graf--p">Then I took a fresh look at <a target="_blank" href="https://atom.io/" data-href="https://atom.io/" class="markup--anchor markup--p-anchor" rel="nofollow">Atom</a>, Githubs text editor that claims to be a replacment for Sublime. Since then I have moved to using Atom as my main text editor for programming in OSX and Windows, but still using my fine-tuned vim setup in Linux. I like how I have Atom set up. It uses a lot of (but not all sadly) the features I have come to love in my vim setup.</p><p name="4c77" id="4c77" class="graf--p">I also like that I can have the same setup on both my Mac and in Windows. I have the same <a target="_blank" href="https://github.com/atom/vim-mode" data-href="https://github.com/atom/vim-mode" class="markup--anchor markup--p-anchor" rel="nofollow">vim-mode</a> bindings on both my machines (I only customize so far as to add :w and :q bindings), and easily jump from one to the other with Synergy and have little to no issues with editor differences. I typically end up taking my surface out with me to a lot of places and will code some new ideas on the bus or in the food court of the mall.</p><figure name="d9b5" id="d9b5" class="graf--figure postField--insetLeftImage"><div class="aspectRatioPlaceholder is-locked" style="max-width: 267px; max-height: 252px;"><div class="aspect-ratio-fill" style="padding-bottom: 94.39999999999999%;"></div><img class="graf-image" data-image-id="1*p2L7kPMSXOTNqM24wZM_Xg.png" data-width="267" data-height="252" src="https://d262ilb51hltx0.cloudfront.net/max/600/1*p2L7kPMSXOTNqM24wZM_Xg.png"></div></figure><p name="2033" id="2033" class="graf--p">Atom gets a lot of things right with the plugins I have. I have Autocomplete+ and a plugin for it that uses GoCode for autocompletion as I type like I have with vim-go and YouCompleteMe in Vim. Its native pacakge support and extensibility is bar none the easiest way to be able to add things to the editor I have ever seen.</p><p name="7ee0" id="7ee0" class="graf--p">But there are problems with Atom that are mostly based on my usage of text editors and my understanding of programming with Javascript, Coffeescript, HTML and CSS. Atom is a mostly Coffeescript editor, it does mean that at runtime I can customize almost any aspect of the editor, but I would have to learn one if not 5 more languages to be able to describe the layouts or interfaces I would like to add to this editor. It also being a hybrid between a web application and a normal desktop application means that I am afraid to add things I normally would such as raw socket support for being able to collaborate on a single document, PiratePad style. Additionally, the Vim emulation mode in Atom doesnt support ex-style :-commands nor &lt;Leader&gt;, meaning that a fair bit of my editing is toned down and done more manually to make up for this.</p><p name="749e" id="749e" class="graf--p">I wish I could just use vim natively with my preferred setup on Windows, OSX and Linux, but for now Atom is the lesser of all the evils.</p><figure name="e6f9" id="e6f9" class="graf--figure"><div class="aspectRatioPlaceholder is-locked" style="max-width: 602px; max-height: 488px;"><div class="aspect-ratio-fill" style="padding-bottom: 81.10000000000001%;"></div><img class="graf-image" data-image-id="1*g1WVPdPGWjAB2ohxEuhS5Q.png" data-width="602" data-height="488" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*g1WVPdPGWjAB2ohxEuhS5Q.png"></div><figcaption class="imageCaption">I miss you</figcaption></figure><p name="255d" id="255d" class="graf--p"></p><p name="5ea2" id="5ea2" class="graf--p">Update: I am now atom-free on my surface pro 3</p><figure name="d79b" id="d79b" class="graf--figure graf--last"><div class="aspectRatioPlaceholder is-locked" style="max-width: 700px; max-height: 642px;"><div class="aspect-ratio-fill" style="padding-bottom: 91.8%;"></div><img class="graf-image" data-image-id="1*9Yujh3qZ1doxG8UoTYD0hg.jpeg" data-width="1022" data-height="938" data-action="zoom" data-action-value="1*9Yujh3qZ1doxG8UoTYD0hg.jpeg" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*9Yujh3qZ1doxG8UoTYD0hg.jpeg"></div><figcaption class="imageCaption">So this is the power of vim? Not bad, not bad at all.</figcaption></figure></div></div></section>
</section>
<footer><p>Exported from <a href="https://medium.com">Medium</a> on February 1, 2015.</p><p><a href="https://medium.com/p/c3246deaf39b">View the original</a></p></footer></article>
</body></html>