Vim
実践Vimを読んだ。元々この手の本はほとんど読まないけど、コア機能を中心に説明していると知って興味を持ったので、読んでみた。 以下は、今回読んで新しく知ったことや気づいたことについて。 normalコマンド(TIP30) ‘<,’>normal . で、ビジュアルモードで…
git mergeなどで衝突したとき、vimを使って解消する方法。 1. mergetoolを設定する git mergetoolの設定をする。 $ git config --global mergetool.vimdiff3.cmd 'vimdiff -c "wincmd J" "$MERGED" "$LOCAL" "$BASE" "$REMOTE"' 2. shellスクリプトを作成す…
ローカルファイルの場合は、editコマンドにオプションを追加して開き直せばいい。 :e ++enc=eucjp ftp, sftpなどを使ってリモートのファイルを編集するとき、文字コードの判別に失敗して文字化けする場合は、この方法では対応できない。 このときは、先にfil…
マージでコンフリクトしたときの対応としての備忘録。 前提 例えば、svnでマージしたときにfooというファイルがコンフリクトしたとする。 コンフリクトすると、管理しているファイル以外に3つのファイルができる。 $ ls ... foo.working foo.merge-left.r1 …
追加・変更・削除対象のファイルのみのリストを作りたいとき、svn diffにsummarizeオプションをつけることで、ファイルパスのみが表示される。 svn diff --summarize -r PREV:COMMITTED ./ svn diff --summarize -r COMMITTED:HEAD ./ 参考 OZACC.blog: Subv…
ubuntuの環境では、visudoのエディタがnanoになっている。それをvimに変更する方法。以下の2通りがある。visudoの設定を変更する場合editorの設定を追加する。 $ sudo visudo Defaults editor=/usr/bin/vim.basic ubuntuの設定を変更する場合 $ sudo update…
よく忘れるので、確認のついでにまとめたもの。変更csで始めると、囲っている文字もしくはタグを変更する。cs"' ダブルクォート(")をシングルクォート(')に変更囲まれている文字列のどこかにカーソルがある状態で。 // before "Hello world" // after 'Hello…
textwidthに0以外の値が設定されていると、文字入力などのタイミングでその値に合わせて自動改行する。この値を明示的に0にしておくと、自動改行されない。 $ vi $HOME/.vimrc … set textwidth=0 via vimが勝手に自動改行するのを回避する方法
:g/^/m0 参考 Reverse all lines - Vim Tips Wiki
expandtabを設定している状態でタブ文字を入力するには、入力モードでCtrl+vを押した後でタブキーを押す。 via :set expandtab(:set et)設定の時に、タブ文字を挿入する — 名無しのvim使い
:set mps+=<:> mpsは、matchpairsの短縮形。 via 'matchpairs' - VimWiki</:>
よく、先頭の'g'を忘れてしまうのでメモ。 g/^$/d via gvimでまとめて空行削除 - 闇忍日記
s/,/^M/g ^Mは、Ctrl-v + Enterで入力する。
コマンド 動作 Ctrl+w s ウインドウの作成(水平) Ctrl+w v ウインドウの作成(垂直) Ctrl+w j 下のウインドウに移動 Ctrl+w k 上のウインドウに移動 Ctrl+w Ctrl+w 次のウインドウに移動 Ctrl+w p 前のウインドウに移動 Ctrl+w q カレントウインドウを閉じる …
" 一覧 :ls " 選択 :b 1 via vimエディタ・スターターマニュアル #6 (複数のバッファの管理) — 名無しのvim使い
:set paste :set nopaste via はてなダイアリー