■Vim基本操作
# vi
と入力すると、大抵の環境ではVimが立ち上がる
ただしrootの場合はviが立ち上がるので、vimと指定する必要がある
(後述する /etc/profile.d/vim.sh で制御できる)
viは操作が特殊なので慣れは必要
まずは超基本だけ! viの基本的な使い方【Linux入門】
https://eng-entrance.com/linux-vi-base
■Vimチュートリアル
$ vimtutor
を実行すると、Vimのチュートリアルが表示される。少しずつでも進めるといい
「Vimを使い始めようと思うんですけど、おすすめを教えてください」
http://kannokanno.hatenablog.com/entry/20121217/1355694191
■基本操作
i ... 入力モードに切り替え
yy ... 一行コピー
p ... 貼り付け
dd ... 一行削除
^ ... 行頭へ移動
$ ... 行末へ移動
gg ... ファイルの先頭へ移動
G ... ファイルの最後へ移動
:e ... 再読み込み
:q ... 終了
:q! ... 強制終了
:w ... 保存
:wq ... 保存して終了
/xx ... xxを検索(「n」で次を検索 / 「N」で前を検索)
?xx ... xxを検索(「/xx」とは逆に検索)
u ... アンドゥ
Ctrl+R ... リドゥ
:set number ... 行番号の表示
:set nonumber ... 行番号の非表示
:行番号 ... 指定した行へ移動
:set nowrap ... 折返し表示なし
:set wrap ... 折返し表示あり
:set paste ... ペーストモード(自動インデントなどされないように)
:set nopaste ... ペーストモード解除
:set mouse=a ... マウスを使う(クリックでカーソルを移動できたり)
操作方法は以下も参考になる
とほほのVim入門 - とほほのWWW入門
https://www.tohoho-web.com/ex/vim.html
■移動
vimを使うとき十字キーで移動して、vimmerに殺されるその前に - Qiita
https://qiita.com/fasahina/items/2767891134028648f288
Vimにおけるカーソル移動の効率化
https://zenn.dev/skanehira/articles/2022-01-29-vim-cursor-jump
■画面分割
:split ... 画面を上下に分割する
:vsplit ... 画面を左右に分割する
Ctrl+W → k ... 分割した上のウインドウに移動
Ctrl+W → j ... 分割した下のウインドウに移動
Ctrl+W → h ... 分割した左のウインドウに移動
Ctrl+W → l ... 分割した右のウインドウに移動
Ctrl+W → K ... 分割したウインドウを上に移動
Ctrl+W → J ... 分割したウインドウを下に移動
Ctrl+W → H ... 分割したウインドウを左に移動
Ctrl+W → L ... 分割したウインドウを右に移動
Ctrl+W → > ... 分割したウインドウの幅を増やす
Ctrl+W → < ... 分割したウインドウを幅を減らす
Ctrl+W → + ... 分割したウインドウを高さを増やす
Ctrl+W → - ... 分割したウインドウを高さを減らす
■タブ
:newtab ... 新規にタブを開く
gt ... 次のタブに移動
gT ... 前のタブに移動
■一括コメントアウト
Ctrl+G で現在の行番号を表示
:74,222 s/^/#
で74行目〜222行目を一括コメントアウト
■PoderosaでVimを使っているとき、Windowsのクリップボードにコピーする
ドラッグ&ドロップでテキストを選択し、
「右クリック → コピー」もしくは「編集 → コピー」とすればコピーできる。
■ジョブの切り替え
vim使用中、Ctrl+Zでコマンド入力に戻る。ただし作業は終了していない
$ jobs
[1]- 停止 vim test1.txt
[2]+ 停止 vim test2.txt
[4] 停止 vim test4.txt
で一時停止中のジョブを表示できる
$ fg 4
のように入力すると、特定のジョブを起動できる
$ fg
と入力すると、+が付いているジョブを起動できる
■ファイルの履歴
:browse oldfiles
:bro ol
Vimで使える「最近使ったファイル」を開く方法 - Vim 力を上げたい Vimmer の軌跡
http://vimtry1.hateblo.jp/entry/2016/12/27/101346