作業ノート

様々なまとめ、雑感など

Vim

実践Vim

実践Vimを読んだ。元々この手の本はほとんど読まないけど、コア機能を中心に説明していると知って興味を持ったので、読んでみた。 以下は、今回読んで新しく知ったことや気づいたことについて。 normalコマンド(TIP30) ‘<,’>normal . で、ビジュアルモードで…

gitでvimを使ってmergeする

git mergeなどで衝突したとき、vimを使って解消する方法。 1. mergetoolを設定する git mergetoolの設定をする。 $ git config --global mergetool.vimdiff3.cmd 'vimdiff -c "wincmd J" "$MERGED" "$LOCAL" "$BASE" "$REMOTE"' 2. shellスクリプトを作成す…

vimのnetrw.vimでコードの判別に失敗して文字化けした場合の対応

Vim

ローカルファイルの場合は、editコマンドにオプションを追加して開き直せばいい。 :e ++enc=eucjp ftp, sftpなどを使ってリモートのファイルを編集するとき、文字コードの判別に失敗して文字化けする場合は、この方法では対応できない。 このときは、先にfil…

svnでコンフリクトしたときに、vimdiffを使って解消する

マージでコンフリクトしたときの対応としての備忘録。 前提 例えば、svnでマージしたときにfooというファイルがコンフリクトしたとする。 コンフリクトすると、管理しているファイル以外に3つのファイルができる。 $ ls ... foo.working foo.merge-left.r1 …

svn diff 変更されたファイルのパスのみを表示する

追加・変更・削除対象のファイルのみのリストを作りたいとき、svn diffにsummarizeオプションをつけることで、ファイルパスのみが表示される。 svn diff --summarize -r PREV:COMMITTED ./ svn diff --summarize -r COMMITTED:HEAD ./ 参考 OZACC.blog: Subv…

visudoのエディタをnanoからvimに変更する

ubuntuの環境では、visudoのエディタがnanoになっている。それをvimに変更する方法。以下の2通りがある。visudoの設定を変更する場合editorの設定を追加する。 $ sudo visudo Defaults editor=/usr/bin/vim.basic ubuntuの設定を変更する場合 $ sudo update…

surround.vimによる囲み文字の変更・削除・追加

Vim

よく忘れるので、確認のついでにまとめたもの。変更csで始めると、囲っている文字もしくはタグを変更する。cs"' ダブルクォート(")をシングルクォート(')に変更囲まれている文字列のどこかにカーソルがある状態で。 // before "Hello world" // after 'Hello…

vimの自動改行を防ぐ

Vim

textwidthに0以外の値が設定されていると、文字入力などのタイミングでその値に合わせて自動改行する。この値を明示的に0にしておくと、自動改行されない。 $ vi $HOME/.vimrc … set textwidth=0 via vimが勝手に自動改行するのを回避する方法

vim上で表示している内容を、行単位で逆順にする

Vim

:g/^/m0 参考 Reverse all lines - Vim Tips Wiki

タブ文字の入力

Vim

expandtabを設定している状態でタブ文字を入力するには、入力モードでCtrl+vを押した後でタブキーを押す。 via :set expandtab(:set et)設定の時に、タブ文字を挿入する — 名無しのvim使い

%モーションで移動可能なペアを追加する

Vim

:set mps+=<:> mpsは、matchpairsの短縮形。 via 'matchpairs' - VimWiki</:>

空行削除

Vim

よく、先頭の'g'を忘れてしまうのでメモ。 g/^$/d via gvimでまとめて空行削除 - 闇忍日記

特定の文字を改行に置換する

Vim

s/,/^M/g ^Mは、Ctrl-v + Enterで入力する。

ウインドウの操作

Vim

コマンド 動作 Ctrl+w s ウインドウの作成(水平) Ctrl+w v ウインドウの作成(垂直) Ctrl+w j 下のウインドウに移動 Ctrl+w k 上のウインドウに移動 Ctrl+w Ctrl+w 次のウインドウに移動 Ctrl+w p 前のウインドウに移動 Ctrl+w q カレントウインドウを閉じる …

バッファの一覧と移動

Vim

" 一覧 :ls " 選択 :b 1 via vimエディタ・スターターマニュアル #6 (複数のバッファの管理) — 名無しのvim使い

ペースト時にオートインデントが働かないようにする

Vim

:set paste :set nopaste via はてなダイアリー