mycpen

Mycpen

记录学习历程与受益知识
github
telegram
bilibili

08_Linux基礎-vim-tmux-文字エンコーディング

一. 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==

==================================\

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。