檢查是否安裝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
首次進入文件 ---- 命令模式
輸入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 替換,或者說用來修改一個字符
編程的時候須要進行多行註釋:服務器
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替換成
臨時設置ui
:set nu 設置行號 :set nonu 取消設置行號 :noh 取消高亮顯示
永久設置環境編碼
vim /etc/vimrc 設置後會影響到系統全部的用戶 ~/.vimrc #在用戶的家目錄下,建立一個.vimrc。這樣隻影響到某一個用戶,沒有本身建立一個
方法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