① vim linux下查找顯示^M並且刪除
在Linux系統中,尋找並移除文本文件中的^M標志,可以通過一系列命令行操作完成。以下步驟詳細闡述了這一過程,確保文件內容符合Unix標准。
首先,了解如何在Linux中輸入^M。在文本輸入過程中,組合鍵`ctrl + v`後緊接著按下`ctrl + m`,即可生成^M標志。
在VIM編輯器中,查看並顯示^M標志,可以通過以下命令操作:`:e ++ff=unix %`。這將使VIM以Unix格式顯示文件內容,從而能直接查看並識別^M標志。
接著,刪除文件中的^M標志,使用命令`:%s/^M$//g`。這將從文件中全局替換所有^M標志為無,確保文件格式符合Unix標准。
在Linux文件系統中查找含有^M標志的文件,可以使用`find ./ | xargs grep '^M' -l -s`。這命令首先遍歷當前目錄及其子目錄下的所有文件,然後使用`grep`篩選出包含^M標志的文件名。
最後,要徹底刪除^M標志,先找到所有包含該標志的文件名,通過`find ./ | xargs grep '^M' -l -s`獲取列表,再使用`dos2unix`工具批量轉換這些文件。轉換命令為`find ./ | xargs grep '^M' -l -s | xargs dos2unix`。
綜合以上步驟,最佳做法是直接使用`find . | xargs dos2unix`命令。這一命令一次遍歷整個文件系統(當前目錄及其所有子目錄),自動查找並轉換所有含有^M標志的文件,最終確保文件格式符合Unix標准。
② 在linux虛擬系統的新建終端里輸入vim等說命令找不到是怎麼回事
linux系統自帶的是vi編輯器,在使用vim還得安裝redhat/debian/fedora用yum install vim命令,debian/ubutnu/ubuntukylin用sudo apt-get install vim,兩種方法都得用root許可權安裝。
具體如下:
1、簡介
Linux操作系統是基於UNIX操作系統發展而來的一種克隆系統,它誕生於1991 年的 [Linux桌面] 10 月5 日(這是第一次正式向外公布的時間)。以後藉助於Internet網路,並通過全世界各地計算機愛好者的共同努力,已成為今天世界上使用最多的一種UNIX 類操作系統,並且使用人數還在迅猛增長。
2、基本信息
Linux[2]操作系統是UNIX操作系統的一種克隆系統,它誕生linux系統於1991 年的10 月5 日(這是第一次正式向外公布的時間)。以後藉助於Internet網路,並通過全世界各地計算機愛好者的共同努力,已成為今天世界上使用最多的一種UNIX 類操作系統,並且使用人數還在迅猛增長。
3、分區規定
設備管理在 Linux 中,每一個硬體設備都映射到一個系統的文件,對於硬碟、光碟機等,IDE 或 SCSI 設備也不例外。Linux 把各種 IDE 設備分配了一個由 hd 前綴組成的文件;而對於各種 SCSI 設備,則分配了一個由 sd 前綴組成的文件。
③ linux系統下 vi文本編輯器搜索單詞打什麼命令
vi文本編輯器搜索
簡單搜索
"/string"用於向下搜索一個字元串,按n按照搜索相同的方向跳轉到下一個匹配項,像一般的命令一樣,前面加上數字,標示命令計數,比如"2n"代表第三個匹配的目標。按N會和之前命令想法的方向就像搜索下一個。
"?string"用於反向向上搜索字元轉,n,N的用法同上。
搜索忽略大小寫
:set ignorecase
設置大小寫區分
:set noignorecase
命令記錄
假設你做過三次的搜索
/one
/two
/there
現在你想再次的重復搜索one,不需要自己輸入全部的字元串"/one"
利用命令的記錄功能,只需要輸入"/"按後通過方向鍵選擇記錄,如上,按三次向上方向鍵即可得到"/one",同樣,你可以輸入"/o"按後按向上方向鍵,即可自動匹配第一個以o開頭的命令記錄。(在:命令模式下,此方法相同使用,命令記錄不相混淆)
當你要鍵入的單詞太長時,你可以將游標移到你要搜索的單詞上,在普通模式下,按下*鍵,即可以當前詞為搜索向下搜索,#則向上搜索。這種方法上的單詞完全匹配,如果你要搜素的字元串可能還包含在一個其他長字元串裡面,可以使用g*,g#進行搜索。
在本行搜索某一個字元
fx 在當前行,向前將游標移動到字元x上
Fx 在當前行,向後將游標移動帶字元x上
tx 在當前行,向前將游標移動到字元x之前的字元上
Tx 在當前行,向後將游標移動到字元x之後的字元上
, 按照上次搜索(f,F,t,T)的反向進行搜索
; 重復上次搜索
使用"/the"會搜索到there,soothe,the,athea
可以通過不同的方法匹配不同的搜索
"/the/>" 得到結果there
"//<the" 得到結果soothe
"//<the/>" 得到結果the
"/>"是一特殊記法,只匹配一個Word的結束處
"/<"是一特殊記法,只匹配一個Word的開始處
高亮顯示搜索結果
將搜索的家國高亮顯示,將十分的直觀
開啟:set hlsearch
關閉:set nohlsearch
調整搜索結果
:set incsearch 這使得你在鍵入目標字元的時候vim就開始搜索,使用這種方法,可以使你在未完全輸入目標的情況下就可以找到一些結果
使用正則表達式
^字元匹配一行的開頭
$字元匹配一行的結尾
eg:
將游標移動到下面一句話的第一個the上,輸入*
the solder holding one of the chips melted and the
XXX XXX XXX(搜索高亮標記)
輸入"/thetiny_mce_markerquot;得到以下匹配結果
the solder holding one of the chips melted and the
XXX(搜索高亮標記)
輸入"/^the"則得到以下結果
the solder holding one of the chips melted and the
XXX (搜索高亮標記)
同理輸入"/^thetiny_mce_markerquot;將匹配一行內容僅含the的行
/jo[ha]n 將搜索john或者joan
.字元可以匹配任意字元
eg:
"/t.e" 將搜索匹配the tee等
(如果你要搜索的字元串里包含特殊字元,比如.則適應轉義字元/房子特殊字元前面)
"//<..../>" 將搜索任何四個字母的字元串
/d代表一個數字
//d 搜索數字 a1a
//</d/> 搜索作為獨立單詞的一個數字 1
//</d/d/> 搜索作為獨立單詞的兩個數字 12
/^$ 搜索空白行
/^/n 同上
--------
指定重復的次數
--------
要制定重復的次數,可以使用"/{n,m}"這樣的形式。"n"和"m"代表數字,其前的項目會被匹配"n"次到"m"次
/^/n/{3} 搜索三個空白行
/ab/{{3,5} 匹配"abbb","abbbb","abbbbb"
如果"n"被忽略,就默認它是0,如果"m"忽略,就默認它是無窮大,如果",m"被忽略,那麼精確匹配"n"次重復
/{,4} 0,1,2,3,4次
/{3,} 大於等於3次
/{3,4} 3,4次
/{4} 4次
/= 0或者1
* 0或者多次
/+ 一次或者多次
--------
多選一
--------
在一個操作中的"或"操作符是"/|"。如:
/fred/|joe 將搜索fred或者joe
多個選項能繼續串聯在一起
/one/|two/|three
/end/(if/|while/|for/) 匹配的是"endif","endwhile","endfor"
--------
字元范圍
--------
[a-z] a到z中的一個字元
[^a-z] 除了a到z中的一個字元
預定義字元集
//a 所有字母 /[a-zA-Z]
//d 數字 /[0-9]
//D 非數字 /[^0-9]
//x 十六進制數 /[0-9a-fA-F]
//X 非十六進制數 /[^0-9a-fA-F]
//s 空白字元 /[ ]
//S 非空白字元 /[^ ]
//l 小寫字母 /[a-z]
//L 非小寫字母 /[^a-z]
//u 大寫字母 /[A-Z]
//U 非大寫字母 /[^A-Z]
//h /[A-Za-z]
//w /[0-9A-Za-z]
④ linux 中的vim的配置文件:.vimrc 在哪裡
在用戶家目錄(/home/用戶名)下面有一個.vimrc。/etc下面也有一個vimrc,解決方法如下:
1、首先輸入:vi /etc/ssh/sshd_config,然後點擊enter,這里使用vi命令對sshd_config文件進行修改。
⑤ linux下vim 查找命令
linux下vim 查找命令:
/text --查找text, 按n查找下一個, N查找上一個
?text --查找text(反向查找), 按n查找下一個, N查找上一個
*/# --查找游標當前的單詞,相當於/text
:set ignorecase --查找忽略大小寫
:set noignorecase --查找不忽略大小寫
:nohlsearch --關閉當前的高亮顯示,當再次查找時恢復高亮
:set incsearch --逐步搜索模式,對當前鍵入的字元進行查找,不必等輸入完成
:set wrapscan --重新搜索,當搜索到文件頭或尾時,返回重新搜索
(5)linuxvim命令查找擴展閱讀:
1、文件窗口:
:open file --在當前窗口打開新文件
:split file --在新窗口打開文件
:new file --用新窗口打開文件,同 :split file
:bn --切換到下一個文件
:bp --切換到上一個文件
:args --查看當前打開的文件列表(當前正在編輯的文件會用[]括起來)
:e ftp://192.168.10.76/abc.txt
:e qadrive est.txt --打開遠程文件
:split --打開一個新窗口,游標停在頂層的窗口上
:new --打開一個新窗口,游標停在頂層的窗口上
:vsplit --橫向打開窗口。
Ctrl+ww --移動到下一個窗口
Ctrl+wj --移動到下方的窗口
Ctrl+wk --移動到上方的窗口
2、其他命令:
Esc/Ctrl+[ -- 鍵入命令
:!command --執行shell命令
:suspend/Ctrl+Z --掛起vim,回到shell,fg 返回vim
:!perl -c script.pl --檢查perl腳本語法,不用退出vim
:!perl script.pl --執行perl腳本, 不用退出vim
:help --顯示幫助文檔
:help i --顯示i的幫助文檔(:特殊鍵用<>, -t:啟動參數用-)
3、編輯命令:
插入:
i --在當前位置插入
A --在當前行尾插入
I --在當前行首插入
o --在當前行後插入一行
O --在當前行前插入一行
拷貝粘貼剪切:
yy --拷貝當前行
2yy --拷貝當前行開始的2行
p --在當前游標後粘貼
P --在當前行前粘貼
:1,10 co 20 --將1-10行插入到第20行之後。
:1,$ co $ --將整個文件復制一份並添加到文件尾部
v --進入選擇模式,相當於在Windows下按住 Shift選擇
V --進入選擇模式,整行選擇
ddp --交換當前行和其下一行
2dd --剪切當前行之後的2行
:1,10d --將1-10行剪切
:1, 10 m 20 --將第1-10行移動到第20行之後
替換:
ra --將當前游標所在字元替換為a
s/old/new/ --用old替換new,替換當前行的第一個匹配
s/old/new/g --用old替換new,替換當前行的所有匹配
%s/old/new/ --用old替換new,替換所有行的第一個匹配
%s/old/new/g --用old替換new,替換所有匹配
:10,20 s/^/text/g --在第10行到第20行每行前面加上text(:3,5 s/^/#/g --注釋3-5行, :3,5 s/^#//g
--解除3-5行的注釋, :1,$ s/^/#/g --注釋整個文檔, :%s/^/#/g --注釋整個文檔)
ddp --交換游標所在行和下一行
移動:
h --左移一個字元(5h --左移5個字元)
l --右移一個字元(5l --右移5個字元)
k --上移一個字元(5k --上移5個字元)
j --下移一個字元(5j --下移5個字元)
w --向後移動一個單詞(5w --向後移動5個單詞)
b --向前移動一個單詞(5b --向前移動5個單詞)
e --同 w ,游標停在單詞尾部
ge --同 e ,游標停在單詞尾部
^ --移動到本行第一個非空白字元
0 --移動到本行第0個字元
--同0
$ --移動到行尾(3$ --移動到下面3行的行尾)
gg --移動到文件頭(10gg --移動到第10行首)
[[ --同 gg
G --移動到文件尾(10G --移動到第10行尾)
]] --同 G
fx --移動到本行游標後第一個為x的字元(3fx --移動到本行游標後第3個為x的字元)
Fx --同 fx ,反向查找
:20 --跳到20行行首
Ctrl+e --向下滾動一行
Ctrl+y --向上滾動一行
Ctrl+d --向下滾動半屏
Ctrl+u --向上滾動半屏
Ctrl+f --向下滾動一屏
Ctrl+b --向上滾動一屏
撤銷:
u --撤銷
U --撤銷對整行的操作
Ctrl+r --撤銷剛才的撤銷
刪除:
x --刪除當前字元(3x --刪除當前游標開始向後三個字元)
X --刪除當前字元的前一個字元, 同 dh
dl --刪除當前字元, 同 x
dh --刪除前一個字元
dd --刪除當前行
dj --刪除上一行
dk --刪除下一行
10d --刪除當前行開始的10行。
D --刪除當前字元至行尾, 同 d$
kdgg --刪除當前行之前所有行(不包括當前行)
:1,10d --刪除1-10行
:11,$d --刪除11行及以後所有的行
:1,$d --刪除所有行
J--刪除兩行之間的空行, 合並兩行
退出
:wq --保存並退出
ZZ --保存並退出
:q! --強制退出並忽略所有更改
:e! --放棄所有修改,並打開原來文件
:close --關閉窗口,最後一個窗口不能使用此命令,可以防止意外退出vim
:q --如果是最後一個被關閉的窗口,那麼將退出vim