「Vim」が愛され続ける理由と、サンプルで学ぶ使い方:TechTargetジャパンエンジニア読本集 「Linux」の標準テキストエディタとして根強い人気のあるのが「Vim」だ。初心者にとってはなじみにくいVimを、使い勝手の良いツールにするためのコマンドやカスタマイズを学ぼう。
![「Vim」が愛され続ける理由と、サンプルで学ぶ使い方](https://cdn-ak-scissors.b.st-hatena.com/image/square/da219722e6b0279efdc9b3ad5ac8c8380f7e9964/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fait%2Farticles%2F2404%2F25%2Fcover_news047.jpg)
ここでいくつかのルールとして motion-count-multiplied 例えば10jで十行下へ移動、d2kで上2行を削除など operator-doubled 例えばyy, dd, cc, >>とか、2回繰り返すとカーサーのある行に動作する upper case operator 例えばc->C、d->D, y->Yのように、現在のカーサーから行の最後まで動作するケースと、対になっている(逆の機能を持つ)ケース、例えばp->P, o->O, n->N, a->A, i->I, f->Fなど)に大まかに分けられる exclusive inclusive 例えば、yiw vs yaw, cib vs cabの違いで、テキストオブジェクトの内部(inner)だけか、境界線も含めるか(around) があります。これらのルールは他のプラグインにもよくみられるので、Vim wayに慣れればプラ
この記事は Vim 駅伝 の 06/30 の記事です。 前回の記事は ryoppippi さんによる、 06/28 の「とあるコーディングチョットワカル勢のエディタ遍歴」という記事でした。 次回は 07/03 に投稿される予定です。 はじめに ファイル内の特定の文字列を一括置換する場面はよくあります。そんなとき Vim では :substitute コマンド(短縮形: :s)を用いて というコマンドを叩くのがセオリーです (cf. :h :s)。 しかしこれ、まあまあ面倒くさくありませんか? 冒頭に % を書かないといけない 冒頭の % は置換範囲を表し、ファイル全体を置換する、という意味を持ちます (cf. :h :%)。 % を書かない場合、カーソルのある行だけが置換対象となります。 でも、カーソル行だけを置換対象としたいことって…ファイル全体を置換するケースに比べればそこまで多く
想定読者 この記事は「Vimって便利だけど、覚えたてだと局所的にしか使えなかったりして、実際に本格的にWeb開発するのは難しいし、モチベーションも続かないなあ…」という人のために書きました。 工夫した点 TODOサンプルアプリを用意して「Vimの設定適用 → リアルなコードを使って実際にVimを動かす」という感じで少しずつ便利になる体験をしながら実際のWeb開発でも使えるVimを使った操作や設定などを覚えていけるステップアップ構成 特定のプラグインを使うケースは類似プラグインを紹介し、他のプラグインも選択できるように。(これこそVimの楽しいところ。好きなものを好きなように自分で組み合わせて使う。) 注意点 Vimの説明になります(Neovimではありませんのでご注意ください)。 Vimはバージョン8.2を使っています。 Docker上のUbuntuでVimを動かす想定になっています。イン
Vimium というブラウザ拡張があります The hacker's browser などと銘打たれているもので、その名の通り Vim ライクなキーバインドでブラウザの操作を可能にするものです ブラウジングにおけるマウス操作を圧倒的に減らすことができます 個人的には 4-5 年ヘビーユースしており、これなしではブラウザを操作できません 私自身 Vim をまともに使い始めるはるか以前から Vimium を使っているので Vim の経験がなくても慣れれば特に問題ないと思いますし、エンジニアでない方も十分利便を感じられるのではないかと思います インストール 普通にインストールするだけです フォークなどの亜種がいくつか存在しますが、本家でユーザーも多いのは以下のものです Chrome Extension・Firefox Add-on 基本的に Content scripts での実装なので当たり前
Go 言語の IDE 機能を得る為に何か知る必要はありません。Java の IDE 機能を得る為に何か知る必要はありません。HTML の IDE 機能をインストールする為に npm コマンドの使い方を覚えたり、LaTeX の IDE 機能をインストールする為に、配置場所を考える必要もありません。もしインストールを実行しても動かなかったら、それは vim-lsp-settings のバグです。 以前まででれば vim-lsp を導入すると Language Server の登録が必要でした。 if executable('gopls') au User lsp_setup call lsp#register_server({ \ 'name': 'gopls', \ 'cmd': {server_info->['gopls']}, \ 'whitelist': ['go'], \ }) au
$ vim hoge vim-go requires Vim 7.4.1689 or Neovim, but you're using an older version. Please update your Vim for the best vim-go experience. If you really want to continue you can set this to make the error go away: let g:go_version_warning = 0 Note that some features may error out or behave incorrectly. Please do not report bugs unless you're using Vim 7.4.1689 or newer. 続けるにはENTERを押すかコマンドを入力してくだ
この記事は Vim Advent Calendar 2016 - Qiita の11日目の記事です。 社内ではVimハラスメントが横行していますが、私自身のVimは毎朝やる最新版ビルドを除いてカスタマイズすることがほぼ無くなりました。 元からハードにカスタマイズはしておらず、 ctrlp あれば十分だなという感じで、たまに .vimrc をいじるのは新しい言語を試すときにシンタックスのプラグインを導入するくらいです。 さて、そんなVimmerの私が「これだけおさえていれば充分」という基本機能を紹介します。 ちなみに、 ctrlp の記事を4年前の Vim Advent Calendar で書いています。 blog.kaneshin.co バッファ Vimにはバッファという機能があり、開いたファイルをVim上で管理されています。バッファを確認するには :buffers か :ls コマンドを
Vimでエディットするにあたり、ダブルクォートで囲まれた部分をシングルクォートにしたいとか、囲まれた部分の内側を置換したいとか、いい加減テキストオブジェクトを使いこなしたいなと思ったので調べつつ憶えてみる。 Vimのコマンドは何らかの単語の頭文字であるケースが殆どなので、コマンドの意味も纏めてみた。 そもそもテキストオブジェクトとは オブジェクト単位で選択 *object-select* *text-objects* *v_a* *v_i* 次のものはビジュアルモードかオペレータコマンドの後でのみ使うことができる一連の コマンドを示しています。 "a" で始まるコマンドは "a" (1つの) まとまりをホワイトスペースを含めて選択します。 "i" で始まるコマンドはまとまりの "inner" (内部) をホワイトスペースを含まずに選択するか、もしくはホワイトスペースのみを選択します。 です
emacsキーバインドに慣れ親しんだせいで長らくVim幼稚園のままだった私が来ましたよ。キーバインドを一度に覚えようとすると挫折しやすいので、以下のように少しずつボキャブラリーを増やすのがたぶん吉。 特記しない限りノーマルモードが前提。後、.vimrcでの設定については最小限にしか触れない (emacsでつい設定ファイルをいじってしまいがちだった反省から) ので各自好きにしてください。 Level 1 最小限の使い方だけ覚えて、ぶっつけでサーバーの設定ファイルを更新したりしていた。10年以上この状態。 iでその場でインサートモード aで直後の文字にインサートモード :wqで保存終了 :q!で保存せずに終了 移動はひたすらカーソルキー xでカーソル下の文字を削除 困ったらEscキーを連打 上はもともと、vimの先祖でずっと機能の少ないviの操作なのだけど、viならほぼどんなたいていのUnix
この記事はATOM-editor Advent Carendar 2015の15日目の記事です。 2016/03/01 追記 vim-mode-plus, vim風キーマッピングの発見により色々追記しました。 はじめに どうも、Vimの方からやってきました。 様々なエディタやIDEにVimプラグインがあることから分かるように、どんな環境に移ろうともVimと共に生きるVim愛好者は世界中にたくさんいるようです。 自分もそのうちの一人でメインエディタはVimを使い、IDEを使うときもVimプラグインが手放せなかったのですが、さすがに2015年にもなったし流行りのエディタも試してみたいということで今年からAtomに入門してみました。 Atomにも例に漏れずVimプラグインがあるので初日からVim化に挑戦するも、色々と足りない機能に納得できずSublimeのときのように諦めかけていたのですが、パッ
NeoBundle は @Shougo さんが作った Vim プラグイン管理マネージャです。 日本ではとても有名なプラグインで、日本語の紹介記事や設定例が大量にヒットします(みんな大好き NeoBundle!)。 流れに任せて、若しくは超絶便利だから(とりあえず1)使っておこう、というそこのアナタ、他にもたくさんプラグインマネージャがあるのでちょっとじっくり選んでみてはいかがでしょう。 Vim プラグインマネージャの小歴史 ここで有名な Vim プラグインマネージャのスター数と初コミット日時を見てみます。比較的よく目にするプラグインマネージャに絞っております。 ツール 初コミット スター数 実装言語
注意: まだ Vim Advent Calendar 2015 は始まっていません。 ctrlp.vimのエクステンションの作り方 - koturnの日記 はじめに この記事は ctrlpvim/ctrlp.vim のエクステンションの作り方についての記事であり, ctrlpの公式リポジトリのextensionsブランチ に書かれているエクステンションの... http://koturn.hatenablog.com/entry/2015/11/19/200000 とても良い記事ですね。みんな CtrlP 拡張書いたらいいと思います。そして Vimmer おじさんから1点だけ。 let s:sample_var = { \ 'init': s:sid_prefix . 'init()', \ 'accept': s:sid_prefix . 'accept', \ 'lname': 'sa
The document evaluates the performance impact of virtualization on high-performance computing (HPC) clouds. Experiments were conducted on the AIST Super Green Cloud, a 155-node HPC cluster. Benchmark results show that while PCI passthrough mitigates I/O overhead, virtualization still incurs performance penalties for MPI collectives as node counts increase. Application benchmarks demonstrate overhe
Haskellはインデントが意味を持つ言語です。コーディングするときには、エディターがいかに心地よく空気を読んでインデントを入れてくれるかが重要になってきます。HaskellのVim用インデントプラグインはこれまでいくつかありましたが、それらはどれも機能が少なすぎて、普段からHaskellを書く私にとっては苛々するものばかりでした。とても心地よいインデントをサポートしてくれるインデントプラグインはありませんでした。 とにかくHaskellの最強のインデントプラグインが欲しいということで、作りました。 VimでHaskellを書いているよという方は、ぜひインストールしてお使いください。 今のところ以下のような構文に対応しています。 データ型のインデント derivingの後はインデントをやめる guardのインデント otherwiseの後はインデントをやめる whereのインデント mod
Vim Advent Calendar の165日目の記事です。 前回の記事はthincaさんの同一視されるキーに注意でした。 Vimの設定ファイルをGitHub等のリモートリポジトリで管理すれば、新しい環境にVimをインストールする際手間が省けます。 便利な反面「リモートで管理できる設定」と「ローカルで行うべき設定」を正しく区別しないと、 むしろセキュリティなどの面で問題が生じかねません。 今回はリモートリポジトリで共有する汎用の .vimrc と、ローカルな設定ファイル vimrc_local についての意見を書きます。 vimrc_localの読み込み まず vimrc_local を読み込む方法について説明します。 .vimrc の最後に以下のように書き加えます。 if filereadable(expand($HOME.'/.localsetting/vimrc_local'))
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く