1) 在乙個新檔案中讀/etc/passwd中的內容,取出使用者 名部分
vi file
:r /etc/passwd 在開啟的檔案file中游標所在處讀入/etc/passwd。
:%s/:.*//g 刪除/etc/passwd中使用者名稱後面的從冒號開始直到行尾的所有部分。
:3r /etc/passwd 這是在指定的行號後面讀入檔案內容。
另外一種方法刪掉檔案中所有的空行及以#開始的注釋行。
#cat squid.conf.default | grep -v '^$' | grep -v '^#'
2) 在開啟乙個檔案編輯後才知道登入的使用者對該檔案沒有寫權,不能存檔。
vi file
:w /tmp/1 既然沒法存檔,不想放棄所做的所有修改,先臨時存到/tmp/1。
:20,59w /tmp/1 或者僅僅把第20到59行之間的內容存檔成檔案/tmp/1。
3) 用vi編輯乙個檔案,但需要刪除大段大段的內容。
vi file
ctrl+g 把游標移到需要刪除的行的處按ctrl+g顯示行號,再到結尾處再按ctrl+g。
:23,1045d 假定兩次行號為23和1045,則把這幾間的內容全刪除。 也可以在開始和結束兩行中用ma,mb命令標記後用:'a,'bd刪除。
4) 在整個檔案或某幾行中在行首或行尾加一些字串
vi file
:3,$s/^/some string /
在檔案的第一行至最後一行的行首前插入some string。
:%s/$/ some string/g 在整個檔案每一行的行尾新增 some string。
:%s/string1/string2/g 在整個檔案中替換string1成string2。
:3,7s/string1/string2/ 僅替換檔案中的第三到七行中的string1成string2。
note: s為substitute,%表示所有行,g表示global。
5) 同時編輯兩個檔案,在兩個檔案中拷貝剪貼文字
vi file1 file2
yy 同時開啟兩個檔案,在檔案1的游標所在處拷貝所在行。
:n 切換到檔案2 (n=next)。
p 在檔案2的游標所在處貼上所拷貝的行。
:n 切換回檔案1。
6) 替換檔案中的路徑
:%s#/usr/bin#/bin#g 把檔案中所有路徑/usr/bin換成/bin。或者用:%s/\/usr\/bin/\/bin/g 在'/'前用\符號指出'/'是真的單個字元'/'。
★編輯模式
★末行指令模式
Linux中 vi常用命令
vi 常用命令 i 編輯模式 esc 退出編輯模式 c 刪除當前游標到行尾的字元,並進入編輯模式 c 刪除當前游標 不包含 到行首的字元,並進入編輯模式 q 退出 wq 儲存退出 q 強制退出 set nu 顯示行號 set nonu 取消行號 shift 跳到行首 shift 跳到行位 ctrl ...
linux中vi常用命令
1 游標移動 按下esc後,再執行以下的命令 0 移動到這一行的最前面字元處 常用 移動到這一行的最後面字元處 常用 gg 移動到這個檔案的第一行 常用 g 移動到這個檔案的最後一行 常用 ng n 為數字。移動到這個檔案的第 n 行 常用 n n 為數字。游標向下移動 n 行 常用 2 搜尋 按下...
linux中vi常用命令
1.編輯檔案 vi 檔名 例 vi a.txt 按enter鍵將顯示檔案內容 2.寫入資料 按下i a o等即可 i a o幾種區別 i 在游標所在字元前開始插入 a 在游標所在字元後開始插入 o 在游標所在行的下面另起一新行插入 s 刪除游標所在的字元並開始插入 i 在游標所在行的行首開始插入 如...