【VI】 VIM ~ あれこれ編 ~

■ はじめに

VIMについて、色々レクチャーを受けたので
それらの事項をメモる。

目次

【1】コマンドモード
 例1:Pythonを実行する
 例2:ファイル内をソートする
 例3:差分をとる
 例4:重複削除

【1】コマンドモード

項目 説明
コマンドモード 「:」or 「/」
前のコマンドを実行 「!!」

例1:Pythonを実行する

vim test.py

# 以下の「test.py」をコピペしたら保存して、[Esc]キー
# 『!python3 test.py』
# で実行

test.py

def test_func():
    print('Hello world!')

test_func()

例2:ファイル内をソートする

* 「コマンドモード (:)」にして以下を行う

コマンド例

# ファイル内容をソートする
:%!sort
# % : 現在のバッファ
# ! : システムのコマンドを実行

# -u オプション : ユニーク処理
:%!sort -u

vimでファイル全体をソートする方法 - neovim/vim入門

例3:差分をとる

https://maku77.github.io/vim/file/vimdiff.html

コマンド例:仕事でやった内容

# ファイル内容をソートする
:%!sort

# 新規で開く
:vnew

# 別ファイルを開く
:e other.txt
:%!sort

# 差分 (Ctrl+F: 次へ移動、Ctrl+B: 戻る)
:diff this

例4:重複削除

https://qiita.com/i47_rozary/items/e523f6b7f172fd141d61

:sort u

練習

実行前(コピーしてVIMに張り付ける)

table3
table1
table2
table1
table3
table2
table1
table4
table2

実行後

table1
table2
table3
table4

関連記事

VIM ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2016/09/15/233623
VIM ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2023/09/01/000000
VIM ~ VimGolf ~
https://dk521123.hatenablog.com/entry/2023/06/09/000000
VI エディタ
https://dk521123.hatenablog.com/entry/2016/04/27/232800
ネットワーク系コマンド ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2016/07/27/214633