投稿

ラベル(vi)が付いた投稿を表示しています

tmux のキーバインドを vi 風にする

tmux の設定を弄って vi 風のキーバインドに変更します。 といっても、 rpm でインストールした tmux には設定ファイルのサンプルが入っていますんで、それをそのまま使わせてもらいます。 【前提】 OS: Scientific Linux 6.3 tmux を vi 風キーバインドにする (~/.tmux.conf) 設定ファイルのサンプルがある場所はこちらです。 # cd /usr/share/doc/tmux-1.5/examples # ls -l 合計 36 -rw-r--r-- 1 root root 2014 7月 9 18:24 2011 bash_completion_tmux.sh -rw-r--r-- 1 root root 913 7月 9 18:24 2011 h-boetes.conf -rw-r--r-- 1 root root 2338 7月 9 18:24 2011 n-marriott.conf -rw-r--r-- 1 root root 1799 7月 9 18:24 2011 screen-keys.conf -rw-r--r-- 1 root root 2789 7月 9 18:24 2011 t-williams.conf -rw-r--r-- 1 root root 5333 7月 9 18:24 2011 tmux.vim -rw-r--r-- 1 root root 2513 7月 9 18:24 2011 tmux_backup.sh -rw-r--r-- 1 root root 1088 7月 9 18:24 2011 vim-keys.conf [ ファイルの説明 ] *.conf tmux 設定ファイルのサンプルです。 tmux.vim vim 用のシンタックスファイルです。 bash_completion_tmux.sh bash のコマンドライン上で tmux のオプションが補完されるようにするための設定ファイルです。 source bash_completion_tmux.sh として使います。 tmux_backup.sh シェルを実行すると tmux 上の各端末(pane)の出力をファイルに吐き出します。 ...

vim 設定 - 補完 -

補完に関する設定になります。 " completion set wildmenu " command-line completion set wildmode =list : longest " command-line completion behavior 補完 set wildmenu コマンドモードで [tab] を押して補完をした場合に、コマンドラインの上部に補完候補が表示されるようになります。 set wildmode =list : longest 補完の挙動を設定します。設定できる項目は以下になります。(vim マニュアルより) 設定値 動作 "" Complete only the first match. "full" Complete the next full match. After the last match, the original string is used and then the first match again. "longest" Complete till longest common string. If this doesn't result in a longer string, use the next part. "longest:full" Like "longest", but also start 'wildmenu' if it is enabled. "list" When more than one match, list all matches. "list:full" When more than one match, list all matches and complete first match. "list:longest" When more than one match, list all matches and comple...

vim 設定 - 検索 -

検索に関する設定になります。 " search set wrapscan " search wrap around the end of the file set hlsearch " highlight all matches set incsearch " show match for partly typed search command set ignorecase " ignore case in search pattern "set smartcase " override 'ignorecase' " when pattern has upper case characters 検索 set wrapscan この設定が on の場合は、検索キーワードの移動はファイル先頭から末尾まで行ったら先頭に戻ります。 off の場合は先頭から末尾まで行ったら終了です。 set hlsearch 検索キーワードにマッチしたものが全てハイライト表示されます。 set incsearch この設定が off だと検索キーワードを入力して [enter] キーを押すと検索結果が表示されますが、 on だと検索キーワードの入力中にマッチするものにカーソルが飛んでハイライトされます。 set ignorecase 検索キーワードの英大文字小文字を区別しなくなります。 "set smartcase smartcase は ignorecase の英大文字小文字の区別無視の動作を一部変更します。 検索キーワードに英大文字が含まれる場合、 ignorecase を無視します。 私は off にしてますが、お好みでどうぞ。 ignorecase と smartcase の動作については vi マニュアルの例がわかりやすいので下表に転載します。 pattern 'ignorecase' 'smartcase...

vim 設定 - 画面表示 -

画面表示に関する設定になります。 " display syntax on " syntax highlighting "set ruler " show cursor position set laststatus =2 " status line set statusline =%<%f%h%m%r%=%b\ 0x%B\ \ %l , %c%V\ %P " status line format set showcmd " show (partial) command keys set showmode " display the current mode set showmatch " jump to matching bracket set wrap " long lines wrap シンタックスハイライト syntax on 画面表示をカラフルにする場合はこの設定をしましょう。 ちなみに、このブログの記事のハイライトされているコードの部分は vim で編集した時のものと同じです。詳しくは 設定ファイルをハイライトしてブログに載せたい  をご覧ください。 ステータス表示 "set ruler カーソルのある位置の行、列、位置(ファイル先頭からのパーセント表示)を画面最下部に表示します。 設定では statusline 上に同じ項目を表示するようにしているので、 ruler は off にしています。 set laststatus =2 ステータスラインの表示形式の指定です。設定値による表示形式は下表のようになります。 設定値 表示形式 0 表示しない 1 画面が2つ以上に分割された場合に表示する 2 常に表示する set statusline =%<%f%h%m%r%=%b\ 0x%B\ \ %l , %c%V\ %P ス...

vim 設定 - 編集 -

テキストの編集に関する設定になります。 " edit set autoindent " automatically set the indent of a new line "set smartindent " do clever autoindenting set backspace =indent , eol , start " backspace behavior in insert mode "set textwidth=78 " maximum width of text "set formatoptions+=mB " automatic formatting 実際に有効化して使っているのは autoindent と backspace だけですね。。。他のコメントアウトしている設定は、普段は使わないけどもごく稀に使うことがあるので備忘メモ的な感じで残しています。 インデント set autoindent "set smartindent autoindent, smartindent ともに自動インデントを利用するための設定です。 行末で [enter] キーで改行する、もしくはコマンドモードで [o] [O] で次の行を挿入した場合に、編集していた行のインデントが新しい行にコピーされます。プログラムを書いたり設定ファイルのコメント行を編集したりする場合に便利ですね。 smartindent は C でプログラムを書くときによく働いてくれるようですが、普段プログラムを書くことないのでコメントアウトして使っていません。 自動インデントは普段は便利なんですが、意図しないインデントが挿入されることも多々あります。例えばマウスを使ってコメント文をコピペしたりするとコメント開始文字が階層的に増えたりとか。 そういうときは設定ファイルの autoindent をコメントアウトしてから編集するか、コマンドモードから set noautoindent として一時的に off にするとよいかと思います。 バックスペース s...

vim 設定 - vi 互換 -

vim を使う上でベースとなる設定です。 set nocompatible " use vim settings vi 互換 set nocompatible compatible オプションをセットすると vim ではなく vi のような動作するようになります。要するに vim の色々な便利機能が使えなくなります。わざわざ不便にする必要はないので vim の機能を利用するようにしましょう。 set {option} とすると {option} の機能を有効にする、 set no{option} とすると {option} の機能を無効にする、という意味になります。上記だと nocompatible として vi 互換モードを利用しない(= vim モードで動作する)という設定をしています。 マニュアルによると、 compatible ( nocompatible ) オプションは他のオプションの動作に影響を与えるため設定ファイルの最初に持ってくるのがよいそうです。(If you set this option in your vimrc file, you should probably put it at the very start.) 【関連】 vimrc vim 設定 - vi 互換 - vim 設定 - 編集 - vim 設定 - 画面表示 - vim 設定 - 検索 - vim 設定 - 補完 -

vi をもう少し便利に使いたい人向けのおすすめ vimrc

Linux 、というか Unix 系システムを触る方であれば vi, Emacs どちらを使うかで熱い議論を交したことが必ずあるはず(?)ですね。Emacs は立ち上げればその中で全ての作業を行えるという設計思想には強く惹かれるのですが、使ってみてもどうも馴染めませんでした。使い続ける気にならなかった一番の理由は、左手小指が疲れるから(笑) というわけで私は普段 vi (vim) を使っているのですが、設定を少し弄れば作業が快適になりますよ、という vimrc を晒そうと思います。vi の設定に限ったことではありませんが、こういう設定ファイルは凝れば凝るほど設定自体が複雑になって何を設定したのかわかりにくくなりますので、 zshrc のときと同様コンセプトは シンプル で 使いやすく です。 設定の意味についてはこれから数回に分けて書いていこうと思います。設定ファイルの " で始まる部分はコメントですが、英文についての文法的な正確性は保証しません(笑) vimrc の設定パラメータは、パラメータ名から動作を連想するのが難しい名前のものがあるので、補足説明みたいな感じであっちこっちから拾ってきた英文を切り貼りしています。設定を修正するたびにマニュアルを読み直すのは手間がかかりますからね。 参考にしているサイトはこちら。 vim マニュアル vim マニュアルです。 名無しのvim使い 基本設定からプラグインの解説まで、とにかく情報量が多く参考になります。 【関連】 vimrc vim 設定 - vi 互換 - vim 設定 - 編集 - vim 設定 - 画面表示 - vim 設定 - 検索 - vim 設定 - 補完 -