vim:(visual inte***ce improved),是一款全屏的純文字asscii的編輯器,是 vi 的增強版,相比較 vi 來說,vim支援語法高亮等特點。
vim是一種模式化的編輯器,常見的模式有編輯模式(命令模式),輸入模式,末行模式,視覺化模式,多檔案模式,多視窗模式等。
usage: vim [option]... [file]...
vim 選項+
vim + file 開啟檔案時游標處在最後一行的行首
vim +3 file 開啟檔案時游標處在第三行的行首
一、各個模式的介紹
編輯模式(命令模式):這個模式下鍵盤操作通常被理解為編輯命令
輸入模式:此模式下使用者可以輸入文字內容
末行模式:vim內建命令列介面,執行vim內建變數
視覺化模式:此模式下使用者可以高亮選擇文字的內容
多檔案模式:此模式下使用者一次可以開啟多個檔案
多視窗模式:此模式下在全屏下可顯示多個視窗來編輯檔案
二、各個模式之間的切換
模式切換型別
切換方法
編輯模式 -> 輸入模式
i,a在游標所在處的前方,後方轉換為輸入模式
i,a在游標所在處的行首,行尾轉換為輸入模式
o,o在游標所在行的上一行,下一行轉換為輸入模式
輸入模式 -> 編輯模式
esc編輯模式 -> 末行模式
:末行模式-->編輯模式
esc三、編輯模式(命令模式)下的文字操作
操作分類
具體方法及意義
游標移動
字元間移動
j,kj:向下移動游標 k:向下移動游標
h,lh:向左移動游標 l:向右移動游標
#3h:向左跳躍游標3個字元 4j:向下跳躍游標4行
單詞間移動
ww:游標移動到下乙個單詞詞尾
e,be:游標跳躍到當前或下乙個單詞詞尾
b:游標跳躍到當前或上乙個單詞詞首 #
3w:游標跳躍到下3個單詞的詞尾
4b:游標跳躍到上3或4(游標恰好在詞首)個單詞的詞首
行內移動
0,$0:游標跳躍到絕對行首
$:游標跳躍到絕對行尾 ^
^:游標跳躍到行首第乙個非空白字元開頭處
ctrl+f
ctrl+b
ctrl+u
ctrl+d
向檔案尾部翻一屏
向檔案首部翻一屏
向檔案尾部翻半屏
向檔案首部翻半屏
行間移動
#g5g:將游標跳躍到第5行行首第乙個非空白字元開頭處
g,gg
g:將游標跳躍到行尾第乙個非空白字元開頭處
gg:將游標跳躍到行首第乙個非空白字元開頭處
編輯命令
x類x,#x
x:刪除游標所在處的字元
4x:刪除游標所在處以及之後的共4個字元 d類
dd d #dd d#d
dd:刪除游標所在處的一整行
d:同 d$ 一樣,刪除游標所在處行向後的所有內容
d結合w,e,b,^,$,0,g,gg一起使用
dgg:刪除游標處以及游標處到行首的所有內容
db:刪除游標處到游標處前單詞的單詞首部的內容 y類
yy,y,y#y,#yy
yy y:複製游標所在處的整行
y3y 3yy:複製游標所在處的及以下共3行
結合w,e,b,^,$,0,g,gg一起使用
yw:複製游標所在處向後乙個單詞首部的的字元
y$:複製游標所在處向後這行所有的的字元
yg:複製游標所在處向後檔案尾部行所有的的字元 p類
p p行級別:
p: 貼上於當前行下方
p: 貼上於當前行上方
小於行級別:
p: 貼上於當前游標所在處的後方
p:貼上於當前游標所在處的前方 c類
cc,#c
cc c:刪除游標所在處的一整行,並進入輸入模式
結合w,e,b,^,$,0,g,gg一起使用
cgg:刪除游標所在處到檔案行首的所有內容,並進入輸入模式
c0:刪除游標所在處到行首的所有內容,並進入輸入模式
撤消編輯
u,#u
u:撤銷上一次操作
3u:撤銷前3次操作
ctrl+r
撤銷上一次撤銷操作重複.
重複上一條命令
四、末行模式
末行模式是執行
一些vim的內建變數,以及問搜尋、替換、刪除等操作。在這裡要引入內容定界。
內容定界的格式是:startpos,endpos。說明在末行模式下操作的範圍。
內容定界符
具體意義
##:第#行
3:表示第三行 .
.:表示當前行
$$:表示最後一行
%%:表示全文 等價於 1,$
$-# .+#
支援像$-2, .+2等內容定界
.+1,$-1 表示當前行的下一行至倒數第二行
下面介紹末行模式的的操作方法以及意義,這些操作都是結合內容定界符一起使用的。
種類具體意義
c d y
:%y 複製整個文字內容
:.,30d 刪除當前行道30行的內容
100c:刪除100的內容,並變為輸入模式,在100行的行首
w r
w /path/to/somefile: 將選定範圍內的內容儲存至某檔案
r /path/from/somefile: 將指定的檔案中的內容讀取到指定位置中
`例如:
:1,100w /tmp/test.txt 將1,100的內容儲存到/tmp/test.txt檔案中
:54r /etc/passwd 將/etc/passwd檔案內容加入到54行的下面
s///gi
s/要查詢內容的模式/要替換的字串或者引用/gi
其中g: global, 全行替換 i: 不區分字元大小寫
:%s@^[[:space:]]\@@g 刪除整個文字的空白行
/ ?/ ? 是命令列搜尋,支援正規表示式
/pattern 向下搜尋
?pattern 向上搜尋
n n 使用n,n上下檢視
命令:set nonu 取消顯示行號
:set ai 自動縮排
:set noai 取消自動縮排
:set ic 設定忽略大小寫
:set noic 取消設定忽略大小寫
:set sm 設定括號匹配
:set nosm 取消設定括號匹配
:syntax on|off 設定語法高亮
:set hlsearch 設定搜尋高亮
:set nohlsearch 取消設定搜尋高亮
五、視覺化模式,多檔案模式,多視窗模式
1)視覺化
v:指的是國標所走過的字元
v:指的是國標所走過的行
例如:在某些連續的行首加入#號。編輯模式下:v-->選中行--->i--->#---->esc就可完成此功能。
2)多檔案模式
vi file1 file2 file3... 在末行模式下可以使用next,previous,last,first關鍵字開啟下乙個,上乙個,最後乙個,第乙個檔案。使用wqall可以儲存全部檔案。
3)多視窗模式
多檔案模式:vim -o:水平分割視窗
-o:垂直分割視窗
單檔案模式:
ctrl+w, s: 水平分割
ctrl+w, v: 垂直分割
六、配置檔案
/etc/vimrc:全域性的
~/.vimrc:使用者模式下的配置檔案
補充:1.設定製表符寬度
:set tabstop=4
:set softtabstop=4
2.設定縮排的空格數
:set shiftwidth=4
3.每行的縮排值與上一行相等
:set autoindent
4.使用
c/c++
語言的自動縮排方式
:set cindent
5.顯示行號
:set nu
6.將搜尋內容反白
:set hlsearch
7.可以刪除任意值
:set backspace=2
本文側重介紹的是vim文字編輯器的使用。
linux 文字處理
1.文字處理 echo echo e 033 40 35m.背景顏色範圍 40 49 40 黑 41 深紅 42 綠 43 黃色 44 藍色 45 紫色 46 深綠 47 百色 字型顏色範圍 30 39 30 黑 31 紅 32 綠 33 黃 34 藍色 35 紫色 36 深綠 37 百色 eg e...
Linux 文字處理
author janloong do o cat 連線檔案並且列印到標準輸出 sort 給文字行排序 uniq 報告或者省略重複行 cut 從每行中刪除文字區域 paste 合併檔案文字行 join 基於某個共享欄位來聯合兩個檔案的文字行 comm 逐行比較兩個有序的檔案 diff 逐行比較檔案 p...
Linux文字處理命令
4 linux文字處理命令sort命令 sort命令的功能是對檔案中的各行進行排序。sort命令有許多非常實用的選項,這些選項最初是用來對資料庫格式的檔案內容進行各種排序操作的。實際上,sort命令可以被認為是乙個非常強大的資料管理工具,用來管理內容類似資料庫記錄的檔案。sort命令將逐行對檔案中的...