4.VIM編輯器

安裝VIM

檢查是否安裝vim或vilinux

[root@app ~]# rpm -qf `which vim`
[root@app ~]# rpm -qf `which vi`

安裝vim編程

yum -y install vim

問:vi和vim是同一個軟件包安裝的嗎?
答:NO,vim是vi的增長版,最明顯的區別就是vim能夠語法加亮,它徹底兼容vivim

vim編輯器模式

首次進入文件 ---- 命令模式
輸入aioAIO,出現 「Insert」 ---- 編輯模式
輸入: ---- 命令行模式
輸入v ---- 可視模式
輸入ctrl+v ---- 可視塊模式windows

問:從編輯模式到命令行模式怎樣切換?
答:編輯模式->esc->命令模式->: ->命令行模式
問:字符操做(怎樣進入編輯模式?)
答:進入編輯模式 a i o A I O
說明:centos

i當前字符以前插入 (光標前)
I行首插入  (行首)
a當前字符以後插入 (光標後)
A行尾插入(行尾)
o下一行插入 (另起一行)
O上一行插入(上一行插入)
x向後刪除一個字符,等同於delete
X向前刪除一個字符         
u撤銷一步,每按一次就撤銷一次
r 替換

命令模式下的操做

hjkl 左下上右
0和home鍵表示切換到行首,$和end鍵表示切換到行尾
gg 快速定位到文檔的首行 ,  G定位到未行
3gg 或者 3G  快速定位到第3行
/string(字符串) 找到或定位你要找的單詞或內容,若是相符內容比較多,咱們能夠經過N、n來進行向上向下查找,而且vi會對查找到的內容進行高亮顯示,取消用 :noh
/^d ^意思表示以什麼開頭 ,,查找以字母d開頭的內容
/t$ $意思表示以什麼結尾,,查找以字母t結尾的內容
vim + a.txt  打開文件後,光標會自動位於文件的最後一行
y 複製(以字符爲單位) :表示對單個字符進行復制,若是要複製整行,用yy(以行爲單位)   
複製N行:Nyy,好比:2yy,表示複製2行
dd(刪除,以行爲單位,刪除當前光標所在行,也是剪切的意思)
刪除N行: Ndd  ,好比: 2dd ,表示刪除2行
P粘貼
x 刪除光標所在位置的字符
D 從光標處刪除到行尾
u 撤銷操做 
ctrl+r  還原撤銷過的操做,將作過的撤銷操做再還原回去,也就是說撤銷前是什麼樣,再還原成什麼樣
r 替換,或者說用來修改一個字符

v模式(列)

編程的時候須要進行多行註釋:服務器

1)、ctrl+v 進入列編輯模式
2)、向下或向上移動光標,把須要註釋、編輯的行的開頭選中起來
4)、而後按大寫的I
5)、再插入註釋符或者你須要插入的符號,好比"#"
6)、再按Esc,就會所有註釋或添加了

刪除:再按ctrl+v 進入列編輯模式;向下或向上移動光標 ;選中註釋部分,而後按d, 就會刪除註釋符號。app

命令行模式操做

:w 保存
:w! 強制保存
:q 沒有進行任何修改,退出 quit
:q! 修改了,不保存,強制退出
:wq 保存並退出 
:wq! 強制保存並退出
:x 保存退出
!+命令 調用外部命令,好比:!ifconfig
:r /etc/hosts 讀取外部文件,把其餘文件中的內容追加到當前文檔中

文本替換
格式 : 範圍(其中%全部內容)s 分隔符 舊的內容 分隔符 新的內容(分隔符能夠自定義),默認是每一行的第一個符合要求的詞 (/g所有/i忽略大小寫)編輯器

:1,3 s/bin/app    替換第1到3行中出現的第一個bin進行替換爲app
:1,3 s/bin/app/g  替換第1到3行中查找到全部的bin進行替換爲app
:3 s/xue/aaaaa    只把第3行中內容替換了
:% s/do/app/g        將文本中全部的do替換成app
:% s/do/app/gi      將文本中全部的do替換成app, 而且忽略do的大小寫
:% s@a@b@g          將文本中全部的a替換成

自定義vim使用環境

臨時設置ui

:set nu  設置行號
:set nonu 取消設置行號
:noh   取消高亮顯示

永久設置環境編碼

vim /etc/vimrc  設置後會影響到系統全部的用戶
~/.vimrc   #在用戶的家目錄下,建立一個.vimrc。這樣隻影響到某一個用戶,沒有本身建立一個

vim打開多個文件

方法1:以上下形勢,打開兩個文檔

vim -o /etc/passwd /etc/hosts

方法2:以左右方式打開兩個文檔

vim -O /etc/passwd /etc/hosts

ctrl+ww:在兩文檔之間進行切換編輯。大寫O左右分屏,小寫的o上下分屏

比較兩個文件內容

diff /etc/passwd mima.txt
vimdiff /etc/passwd mima.txt

兩個小問題

1:在windows中編輯好的漢字文本文檔,上傳到Linux下打開亂碼

緣由:編碼的問題
解決方法:經過iconv命令轉碼
參數:
-f, --from-code=名稱 原始文本編碼
-t, --to-code=輸出編碼
-o, --output=FILE 輸出文件名
例如:iconv -f gb2312 -t utf8 a亂碼.txt -o aa.txt

2:解決將Linux服務器上腳本導到windows上打開串行的問題

緣由:由於windows和linux處理回車方法不一樣
解決方法:安裝dos2unix
rpm -ivh /mnt/Packages/dos2unix-6.0.3-7.el7.x86_64.rpm
注:在centos7上,unix2dos這個命令已經被集成到dos2unix-6.0.3-7.el7.x86_64.rpm包中。在centos6下須要安裝unix2dos.xxx.rpm
例如:unix2dos b沒有換行.sh
相關文章
相關標籤/搜索