Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

デザイナーの僕がなぜVimmerになったか

$
0
0

Vimとの出会い

去年の2017年3月に転職して、それまではずっとAtomを使っていた。
というか、他のエディターはSublime textかBracketsぐらいしか知らなかった。
Vimというものすら知らなかった。

でも仕事柄Gitは毎日のように使うので、CUIには慣れたし、
凄いエンジニアは大体皆Vimを使っているので、何となく凄いエディターなんだろうなーというのは分かったので、とても興味が湧いたのがきっかけでした。

何しろ、優れたデザイナー程物まねが上手いとよく聞かされていたので、凄いエンジニアが使っているんなら凄いエディターなんだろうなーと、何となく直感で思った。

モードの概念に四苦八苦する

Vimを触って最初に苦労してのは、「モードの概念が分からない」でした。
「ノーマルモード、インサートモード、ビジュアルモード、コマンドモード」とか言われても、何言ってるか分からないし、何やってるか分からない!でしたw
何しろ、GUIのエディターにはそんな概念はないので。
なので最初は、ここの記事を印刷して、MacにVimのコマンドを貼って気合で覚えたw

.vimrcの改造にはまる

次第にモードの概念にも慣れてきたので、.vimrcなるものがあるのを覚える。
ここに色々と書き込めば、Vimを思うように改造できるらしいぞ!と。
もうMacにVimコマンドを貼る必要はなくなっていたので、次は思うようにVimを改造したいと考えるようになっていた。

プラグインのインストールにはまる

Vimはプラグインをインストールして、色々と改造できることを知った。
ネットの記事だとNeobandleの記事が多いけど、最新はdeinを使うらしいので、僕はdeinでプラグインをインストールすることにした。
社内のエンジニアでも「Neobandle辞めてdeinにしたい」って人がいるけど、僕deinですよーって言ったら、
まずVimmerのデザイナーなんて普通いないですよwと言われるようになっていたw

でも、なんか次第にVimの動作が遅くなってきたので、社内のベテランエンジニアに相談したらプラグインの入れすぎですねーとアドバイスを貰ったので、必要なさそうなプラグインは消して、今は必要最小限のプラグインだけ入れている。
とりあえず、Vimは自動で閉じタグを入れてくれないので、Emmetと、必要最小限のSyntax highlight系のプラグインだけ入れている。

脱NERDTreeへの苦難

それでも、NERDTreeだけは外すことが出来なかった。
でも、そもそもVimmerはディレクトリ構造とか頭の中に入っている人が多いので、あえてNERDTreeを入れてない人が多いし、僕もさっさとNERDTreeからは脱却したいと思っていた。
そんな時:e .でディレクトリを可視化出来る事を知った。
おかげでNERDTreeからは無事脱却することができましたw

シェルもVimで使いたいと考えるようになっていた

僕は香り屋版MacVimを使っているのですが、次第になるべくMacVimでシェルスクリプトを使いたいと考えるようになっていた(Gitとか、yarnとか、gemとか、bundle installとか)
そんな時:terminalでMacVimでもターミナルを実行できることを知る。
でもこれは、ドラッグして過去のログが見れなかったので、使うのをやめた。
おとなしくシェル使いますw(欲を言えば、bashからzshに移行したい)

自分のVimレベルを知りたくなってきた

もう実務で使うのはVim一択だったので、そろそろ自分のレベルが知りたくなったので、ネットで色々と検索してこんなサイトを見つけた
ここの記事だと、僕はLevel6ぐらいらしい(真のVimmerからすると、小学校1~2年生の中間ぐらいかな?)

Vimでも不便だと感じたこと

そんなVimでも不便だと思うことはある。
それは、検索や置換がやりにくい事。
開いているファイルの検索や置換は出来るけど、ディレクトリの検索や置換やできなかった(調べたらできそうだけど)
なのでそういう時は、おとなしくgit grepを使っています。

追伸

そんな僕のVimは、こんな感じです。
https://github.com/cookboys/MacVim


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>