表中所有的快捷鍵都在命令模式(預設狀態)下直接使用。1、vim快捷方向鍵
vim游標上、下、左、右移動快捷鍵
快捷鍵功能描述
h游標向左移動一位
j游標向下移動一行(以回車為換行符),也就是游標向下移動
k游標向上移動一行(也就是向上移動)
l 游標向右移動一位
2、vim游標以單詞為單位移動
vim游標以單詞為單位進行移動
快捷鍵功能描述
w 或 w
游標移動至下乙個單詞的單詞首
b 或 b
游標移動至上乙個單詞的單詞首
e 或 e
游標移動至下乙個單詞的單詞尾
nw 或 nw
n 為數字,表示游標向右移動 n 個單詞
nb 或 nb
n 為數字,表示游標向左移動 n 個單詞
3、vim游標移動至行首或行尾
游標移動到行首或行尾
快捷鍵功能描述
0 或 ^
游標移動至當前行的行首
$游標移動至當前行的行尾
n$游標移動至當前行只有 n 行的行尾,n為數字
4、vim游標移動至指定字元
游標移動至指定字元
快捷鍵功能描述
fx游標移動至當前行中下乙個 x 字元處
fx 游標移動至當前行中下乙個 x 字元處
5、vim游標移動到指定行
游標移動到指定行
快捷鍵功能描述
gg游標移動到檔案開頭
g游標移動至檔案末尾
ng游標移動到第 n 行,n 為數字
:n編輯模式下使用的快捷鍵,可以將游標快速定義到指定行的行首
6、游標移動到與乙個 "(" 匹配的 ")" (對於 和 {} 也是一樣的), 可以將游標先定位在 "" 處。
1、檢視 /etc/passwd 時需要參考 /etc/shadow,兩種方法
(1)先使用 vim 開啟第乙個檔案,接著輸入命 令 ":sp/etc/shadow" 水平切分視窗,然後按回車鍵;如果想垂直切分視窗則可以輸入 ":vs/etc/shadow";2、切換到另乙個檔案視窗,可以按 "ctrl+ww" 快捷鍵。如果想將乙個檔案的內容全部複製到另乙個檔案中,則可以輸入命令 ":r 被複製的檔名",即可將匯入檔案的全部內容複製到當前游標所在行下面。(2)可以直接執行命令"vim -o 第乙個檔名 第二個檔名",也就是 "vim-o /etc/passwd /etc/shadow"。
1、編輯模式下,多行新增注釋或多行刪除注釋
(1)新增注釋:
在指定範圍行加"#"注釋,可以使用 ":起始行,終止行 s/^/#/g",例如::1,10s/^/#/g
表示在第 1~10 行行首加"#"注釋。"^"意為行首;"g"表示執行替換時不詢問確認。如果希望每行互動詢問是否執行,則可將 "g" 改為 "c"。(2)刪除注釋
取消連續行注釋,則可以使用 ":起始行,終止行s/^#//g" :1,10s/^#//g
新增"//"注釋要稍微麻煩一些,命令格式為 ":起始行,終止行 s/^/\/\//g"。例如::1,5s/^/\/\//g。表示在第 1~5 行行首加"//"注釋,因為 "/" 前面需要加轉義字元 "\",所以寫出來比較奇特。2、快捷鍵
如定義快捷鍵 "ctrl+p" 為在行首新增 "#" 注釋,可以執行 ":map^p l#"。其中 "^p" 為定義快捷鍵 "ctrl+p"。注意:必須同時按 "ctrl+v+p" 快捷鍵生成 "^p" 方可有效,或先按 "ctrl+v" 再按 "ctrl+p" 也可以,直接輸入 "^p" 是無效的。"l#" 就是此快捷鍵要觸發的動作,"l" 為在游標所在行行首插入,"#" 為要輸入的字元,"" 表示退回命令模式。"" 要逐個字元輸入,不可直接按鍵盤上的 esc 鍵。設定成功後,直接在任意需要注釋的行上按 "ctrl+p" 快捷鍵,就會自動在行首加上 "#" 注釋。取消此快捷鍵定義,輸入 ":unmap^p" 即可。
取消檔案行首的快捷鍵,則可以設定 ":map^b 0x",快捷鍵為 "ctrl+b", "0" 表示跳到行首,"x" 表示刪除游標所在處字元。再如,有時我們寫完指令碼等檔案,需要在末尾注釋中加入自己的郵箱,則可以直接定義每次按快捷鍵 "ctrl+e" 實現插入郵箱,定義方法為 ":map^e [email protected]"。其中 "a" 表示在當前字元後插入,"[email protected]" 為插入的郵箱,"" 表示插入後返回命令模式。所以,通過定義快捷鍵,我們可以把前面講到的命令組合起來使用。
將快捷鍵對應的命令儲存在 .vimrc 檔案中,即可在每次使用 vim 時自動呼叫,非常方便。
1、在命令模式下輸入":set nu"即可顯示每一行的行號,如果想要取消行 號,則再次輸入":set nonu"即可。如果希望每次開啟檔案都預設顯示行號,則可以編輯 vim 的配置檔案。在預設情況下,使用者宿主目錄中是沒有此檔案的,需要在當前使用者的宿主目錄中手工建立,如"vim~/.vimrc","~"代表宿主目錄,root 的宿主目錄為 /root/,普通使用者的宿主目錄存放在 /home/ 目錄下。可以直接使用 vim 編輯生成此檔案,並在此檔案中新增一行"set nu",儲存並退出
2、除了設定行號,配置檔案還可以有
常見的可以寫入.vimrc檔案中的設定引數
設定引數
含 義:set nu
:set nonu
設定與取消行號。
:syn on
:syn off
是否依據語法顯示相關的顏色幫助。在vim中修改相關的配置檔案或shell指令碼檔案 時(如前面示例的指令碼/etc/init.d/sshd),缺省會顯示相應的顏色,用來幫助排錯。如果覺得顏色產生了干擾,則可以取消此設定
set hlsearch
set nohlsearch
設定是否將查詢的字串高亮顯示。預設是hlsearch高亮顯示
set nobackup
set backup
是否儲存自動備份檔案。預設是nobackup不自動備份。如果設定了:set backup,則會產生「檔名〜」作為備份檔案
set ruler
set noruler
設定是否顯示右下角的狀態列。預設是ruler顯示
set showmode
set noshowmode
設定是否在左下角顯示如「一insert--」之類的狀態列。預設是showmode顯示
設定引數實在太多了,這裡只列舉了常見的幾個,可以使用":set all"命令檢視所有的設定引數。這些設定引數都可以寫入 .vimrc 配置檔案中,讓它們永久生效,也可在 vim 中執行,讓它們臨時生效。
1、兩種配置檔案
vim 配置檔案分為系統配置檔案和使用者配置檔案:
(1)系統配置檔案位於 vim 的安裝目錄(預設路徑為 /etc/.vimrc);
(2)使用者配置檔案位於主目錄 ~/.vimrc,即通過執行vim ~/.vimrc
命令即可對此配置檔案進行合理修改。通常情況下,vim 使用者配置檔案需要自己手動建立。
vim 使用者配置檔案比系統配置檔案的優先順序高,換句話說,vim 啟動時,會優先讀取 vim 使用者配置檔案(位於主目錄中的),所以我們只需要修改使用者配置檔案即可(不建議直接修改系統配置檔案)。2、環境配置引數
可以在 vim 中輸入「:set all」指令來查詢 。這裡列出常見的。
vim環境設定引數
設定引數
功能描述
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
設定編碼格式,encoding 選項用於快取的文字、暫存器、vim 指令碼檔案等;fileencoding 選項是 vim 寫入檔案時採用的編碼型別;termencoding 選項表示輸出到終端時採用的編碼型別。
set nu
set number
nu 是 number 的縮寫,所以上面兩個配置命令是完全等效的,二選一即可。取消行號可使用 set nonu。
set cursorline
突出顯示當前行。
set mouse=a
set selection=exclusive
set selectmode=mouse,key
vim 編輯器裡預設是不啟用滑鼠的,通過此設定即可啟動滑鼠。
set autoindent
設定自動縮排,即每行的縮排同上一節相同。
set tabstop=4
設定 tab 鍵寬度為 4 個空格。
表中各配置引數前面可以新增冒號(:),也可以省略,兩種寫法都可以。通過以上方式,可以對使用者配置檔案(.vimrc)進行編輯,進而實現對 vim 的永久自定義。 在 vim 編輯模式中,通過 「:set nu」 命令也可以讓 vim 顯示行號,但只是臨時有效,下次使用 vim 編輯檔案還是不顯示行號。而本節介紹的編輯配置檔案設定 vim 的方式,對 vim 的設定是永久的。
Linux基礎(十一)
進入linux字元介面方式有字元介面 圖形介面下的終端以及虛擬控制台等方式。在字元介面下,虛擬控制台的選擇可以通過按下 alt 鍵和1個功能鍵來實現,功能鍵通常為f1 f6鍵。比如使用者登入後,按下 alt f2 鍵,使用者可以看 login 提示符,說明使用者進入了第2個虛擬控制台。然後只需利用按...
Linux學習(十一
1 編寫指令碼selinux.sh,實現開啟或禁用selinux功能 2 統計 etc fstab檔案中每個檔案系統型別出現的次數 3 提取出字串yd c m05mb 9 bdh7dq yvixp3vpw中的所有數字 4 解決dos攻擊生產案例 根據web日誌或者或者網路連線數,監控當某個ip 併發...
Linux系統基礎(十一)
虛擬機器的管理 virt manager 開啟虛擬機器控制台 virsh list 列出正在執行的虛擬機器 virsh list all 列出所有的虛擬機器 virsh start 虛擬機器名 開啟指定虛擬機器 virsh shutdown 虛擬機器名 正常關閉虛擬機器 virsh destroy ...