一. vim#
テキストエディタ - vim(== テキストを編集 ==)
Windows:メモ帳、Word、Sublime、PyCharm
音楽、動画、画像を編集できる?答:できない、== テキストのみ編集可能 ==
Linux:
vi(== 文字インターフェース ==)、vim(== 文字インターフェース ==)、gedit(== グラフィカル ==)
==unix では vi がインストールされる ==
vim は vi の == 強化版 ==(vi に他の機能を追加)
vim エディタの役割#
vim エディタの == 役割 ==:
==1、スクリプトやプログラムを書く ==
==2、設定ファイルを修正する ==
==3、テキスト処理を行う ==
vim モード#
vim には最も一般的で基本的な 3 つのモードがあります:コマンドモード、編集モード(挿入モード)、末行モード、可視モード、置換モード
vim には最も一般的で最 == 基本 == 的なモード:
== コマンドモード ==
== 編集モード ==
== 末行モード ==
さらに 2 つの == あまり使われない == モード:
== 可視モード ==
== 置換モード ==
vim コマンドモード#
== コマンドモード:vim a / ESC==
== 編集できない ==、削除、コピー、ペースト、元に戻すなどのショートカット操作のみ許可され、ファイルを開くと == デフォルト == でこのモードになります
==yy コピー ==
==p ペースト ==
==dd 削除 ==
==u 元に戻す ==
== コマンドモード == は == 中間 == のインターフェースに相当します
各モードの == 終了 == は == コマンドモードに戻る ==、コマンドモードはすべてのモードに入ることができます
vim 編集モード#
編集モード ESC ==i==
-- 挿入 --
挿入モード、== テキスト編集 == を行います
-----------------------------------------------------------------------
操作キー 機能
==i== カーソルが == 現在 == の位置で挿入モードに入る
I カーソル == 行の先頭 == に移動して挿入モードに入る
a カーソル == 一文字後ろ == に移動して挿入モードに入る
A カーソル == 行の末尾 == に移動して挿入モードに入る
==o== カーソルのある == 行の下に新しい行 == を作成して挿入モードに入る
==O== カーソルのある == 行の上に新しい行 == を作成して挿入モードに入る
s == 削除 == カーソル == のある文字 == を削除して挿入モードに入る
S == 削除 == カーソルのある == 行 == を削除して挿入モードに入る
vim 末行モード#
末行モード ESC ==:==
:
コマンドを入力し、環境を設定し、ファイルを保存し、検索と置換を行います
----------------------------------------------------
操作キー 機能
==== ファイルに変更がない場合は == 終了 ==
==!== == 保存を放棄 == して == 終了 ==
== 現在のファイルを == 保存 == して == 終了 ==
==! 強制的に現在のファイルを == 保存 == して == 終了 ==
== 現在のファイルを == 保存 == して == 終了 ==
==! 強制的に現在のファイルを == 保存 == して == 終了 ==
==ZZ 現在のファイルを == 保存 == して == 終了 ==
vim 可視モード#
可視モード ESC ==v、V、ctrl+v==
-- 可視 行 --
特定のテキストブロックを選択し、コピー、修正などを行います
小 ==v==:== 行の指定部分 == を選択
大 ==V==:== 全行 == を選択
==Ctrl + v== :== ブロック == を選択し、I を押して挿入、モードを終了してコマンドモードに入る(Esc)、この時点で全てが追加されます
vim 置換モード#
置換モード ESC ==R==
-- 置換 --
-----------------------------------
123 hello456 789
xxx helloyyy zzz
xxx yyy zzz
練習#
授業練習 1 挿入モード
123 456
123 4
xyz 789
4
xyz 789---------------------------------------------------------
手順:
==v== 小 v 可視モード visual ---》一部を選択
==y== y を押してコピー
==o== o を押して新しい行を作成し、挿入モードに入る
==P== Esc を押してから p を押し、p でペースト
授業練習 2
123 TEST 456 789
xxx TEST yyy zzz---------------------------------------------------------
ブロックを選択して挿入
ctrl + v:ブロックを選択
大 I を押して挿入
ESC でモードを終了してコマンドモードに入る、この時点で全てが追加されます
vim の一般的なショートカット#
vim の一般的なショートカット
vim でファイルを開く:
# vim e
# ==vim +5 e==ファイル e を開き、== カーソルを 3 行目に移動 == します
# ==vim +/aa e==
ファイル e を開き、==aa 文字をハイライト == します
vim エディタを終了する方法#
vim を保存して終了:
操作キー 機能
==== ファイルに変更がない場合は == 終了 ==
==!== 保存を放棄して == 終了 ==
==== == 保存 == して == 終了 ==
==!== == 強制的に保存 == して == 終了 ==
==== == 保存 == して == 終了 ==
==!== == 強制的に保存 == して == 終了 ==
==ZZ== == 保存 == して == 終了 == (注:コマンドモードで終了)
カーソル移動#
カーソル移動:上下左右の矢印キー(k,j,h,l)
-------------------------------------------------
操作タイプ 操作キー 機能
== カーソル == 方向移動 ==k,j,h,l== == 上、下、左、右 ==
==============================================================
== ページ移動 == Page Down または Ctrl+F == 下 == に 1 ページ分移動
Page Up または Ctrl+B == 上 == に 1 ページ分移動
==============================================================
== 行内 == の迅速なジャンプ Home キーまたは “^”、数字 “0” == 行の先頭 == にジャンプ(注:“^” はキャレット)
End キーまたは “$” キー == 行の末尾 == にジャンプ
==============================================================
== 行間 == の迅速なジャンプ
1G または gg == ファイルの最初の行 == にジャンプ
G == ファイルの最後の行 == にジャンプ
#G == ファイルの #行 == にジャンプ
(末行モード):40 ==40 行 == にジャンプ
w == 各単語 == の == 最初の文字 == にジャンプ
e == 各単語 == の == 最後の文字 == にジャンプ
vim 設定#
vim 設定
(末行モード) number == 行数を設定 ==
(末行モード) nonumber == 設定を解除 ==
--------------------------------------
:set number 1 aa bb cc 2 dd ee ff 1 aa bb cc 2 dd ee ff 3 aa bb cc
削除(カット)、コピー、ペースト#
操作タイプ
操作キー 機能
--------------------------------------
削除 (* 注:一般 ==^ 行首,$ 行尾 ==)
==x または d または Del 削除 == カーソル位置の == 単一文字 == を
==dd 削除 == 現在のカーソル == 所在行 == を
==#dd 削除 == カーソル位置からの ==# 行内容 == を
d==^== == 削除 == カーソル == 前のすべての文字 == を行首まで
d==$== 削除カーソル位置から行尾までの == すべての文字 ==
d==w== == 単語を削除 ==(word)、スペース、コロンなどの記号で
------------------------------------------------------
コピー
==yy コピー == 現在の行 == 全体 == の内容をクリップボードに
==#yy コピー == カーソル位置からの ==# 行 == 内容
------------------------------------------------------
ペースト
小 ==p== == バッファ == の内容を == カーソル位置の後 == にペースト
大 ==P == カーソル位置の前 == にペースト
ファイル内容の検索#
ファイル内容の検索
操作キー 機能
==/==word == 上から下 == にファイル内で文字列 “word” を検索
==?==word == 下から上 == にファイル内で文字列 “word” を検索
小 ==n== == 次の == 一致する文字列を見つける
大 ==N== == 前の == 一致する文字列を見つける
(注:/word と?word の違い:== 方向が逆 ==)
ハイライトの解除、行数の設定、行数設定の解除#
ハイライト解除 :noh
行数設定:set nu
解除:set nonu
二. vim-tmux および文字エンコーディングの問題#
ファイル内容の置換
ファイル内容の置換(末行モード)
コマンド 機能
==
/old/new== == 現在の行 == で見つかった == 最初の == 文字 “old” を ==new== に置換==
/old/new/g== == 現在の行 == で見つかった == すべて == の文字列 “old” を ==new== に置換==:#,# s==/old/new/==g== == 行番号 “#,#”== の範囲内で == すべて == の文字列 “old” を ==new== に置換
==:% s==/old/new/==g== == ファイル全体 == の範囲内で == すべて == の文字列 “old” を ==new== に置換
==
== /old/new/==gc== 置換コマンドの末尾に ==c コマンド == を追加し、各置換動作に == 確認 == を促す Confirm==:% s==/feng//==g== == すべて == の feng を == 削除 ==
(注:
/…/… 現在の行の最初の str
/…/…/g 現在の行のすべての str :#,#s/…/…/g 行番号 #,# のすべての str
:% s/…/…/g 文書全体のすべての str
/…/…/gc 文書全体のすべての str の確認提示 :% s/…//g 文書全体のすべての str を削除)
(注:s —— 置換
—— 現在の行の置換 #,# —— 行番号 #から#
% —— 文書全体
g —— すべての文字列
c —— 確認提示
:% s/…//g —— 文書全体のすべての str を削除)
== スワップファイル:swp ファイル ==
== ファイルを作成中の 1.txt==
== まず 1.txt ファイルをコピーして.1.txt.swp ファイルを作成し、実際に編集するのはこのファイル ==
== 保存時に.1.txt.swp が 1.txt を上書き ==
-------------------------------------------------------------------------------------------
関連操作
1 つのターミナルで# vim 2.txt、別のターミナルで# ls -al を入力すると、次のように表示されます
[root@sanchuang-linux cp]# ==ls -al==
総使用量 88
-rw-r--r--. 1 root root 4096 10 月 15 15:05 ==.2.txt.swp====================================\