[转] vim基础
轉自:https://github.com/adambard/learnxinyminutes-docs/blob/master/zh-cn/vim-cn.html.markdown
 熱愛技術,擁抱開源!
category: tool
 tool: vim
 filename: LearnVim-cn.txt
 contributors:
- [“RadhikaG”, “https://github.com/RadhikaG”]
 translators:
- [“Jiang Haiyun”, “https://github.com/haiiiiiyun”]
 lang: zh-cn
Vim
 (Vi IMproved) 是 Unix 上的流行編輯器 vi 的克隆版本。這個文本編輯器
 是為性能和提升效率而設計的,并且在大多數基于 unix 的系統上普遍存在。
 它有大量的快捷鍵可用來快速導航到文件的特定位置,以便進行快速編輯。
Vim 導航基礎
vim <filename> # 在 Vim 中打開 <filename>:q # 退出 Vim:w # 保存當前文件:wq # 保存文件并退出 Vim :q! # 退出 Vim 并且不保存文件# ! *強制* 執行 :q, 因此沒有保存就退出 Vim:x # 保存文件并且退出 Vim, 是 :wq 的簡寫版本u # 撤銷CTRL+R # 重做h # 左移一個字符j # 下移一行k # 上移一行l # 右移一個字符# 在行內移動0 # 移到行首$ # 移到行尾^ # 移到行內的第一個非空白字符處# 在文本中查找/word # 光標之后的所有該詞都高亮顯示?word # 光標之前的所有該詞都高亮顯示n # 查找后將光標移到該詞的下一個出現位置N # 光標移到該詞的上一個出現位置:%s/foo/bar/g # 將文件每一行上的所有 'foo' 都改成 'bar':s/foo/bar/g # 將當前行上的所有 'foo' 都改成 'bar'# 跳到字符處f<字符> # 向前跳移到 <字符> 上t<字符> # 向前跳移到 <字符> 的左側# 例如, f< # 向前跳移到 < 上t< # 向前跳移到 < 的左側# 按詞移動# 默認一個單詞由字母,數字和下劃線組成w # 移動到下一個詞首b # 移動到前一個詞首e # 移動到下一個詞尾# 移動的其它命令gg # 移到文件頂部G # 移到文件末尾:NUM # 移到第 NUM 行 (NUM 是任意數字)H # 移到屏幕頂部M # 移到屏幕中間位置L # 移到屏幕末尾模式:
Vim 基于 模式 這個概念。
命令模式 - Vim 啟動后就處于這個模式,用于導航和操作命令
 插入模式 - 用于在你的文件中進行修改
 可視模式 - 用于高亮文本并對它們進行操作
 Ex 模式 - 用于跳到底部的 ‘:’ 提示行上輸入命令
Vim 的 ‘語法’
Vim 可以被認為是按 ‘動詞-修飾詞-名詞’ 格式編排的一組命令:
動詞 - 你的動作
 修飾詞 - 你如何執行你的動作
 名詞 - 你的動作所作用于的對象
關于 ‘動詞’,‘修飾詞’,和 ‘名詞’ 的幾個重要例子:
# '動詞'd # 刪除c # 修改y # 復制v # 可視化選擇# '修飾詞'i # 內部的a # 周圍的NUM # 數字 (NUM 是任意數字)f # 查找文本并位于其上t # 查找文本并停于其前面/ # 從光標處開始查找字符串? # 在光標前查找字符串# '名詞'w # 詞s # 句子p # 段落b # 塊# 示例 '語句' 或命令d2w # 刪除 2 個詞cis # 修改段落內的內容yip # 復制段落內的內容 (復制你所在的段落)ct< # 修改直到括號開啟處# 對你的當前位置直到下個括號開啟處的內容進行修改d$ # 刪除直到行尾一些快捷鍵和技巧
<!--TODO: Add more!--> > # 將所選內容縮進一級< # 將所選內容取消縮進一級:earlier 15m # 將文檔還原到 15 分鐘前的狀態:later 15m # 逆轉上述命令ddp # 相鄰行交換位置,先 dd 再 p. # 重復之前動作宏
宏基本上來說就是可錄制的動作。
 當你開始錄制宏時,它會記錄你使用的 每個 動作和命令,
 直到你停止錄制。當調用宏時,它會將這個完全相同的動作和命令序列
 再次應用于所選文本之上。
配置 ~/.vimrc
.vimrc 可用于在啟動時對 Vim 進行配置。
這里是一個示例 ~/.vimrc 文件:
" 示例 ~/.vimrc " 2015.10 " 需要 Vim iMproved 版本 set nocompatible" 根據文件名檢測文件類型,以便能進行智能自動縮進等操作。 filetype indent plugin on" 開啟語法高亮 syntax on" 更好的命令行補全 set wildmenu" 除了當使用大寫字母時使用大小寫無關查找 set ignorecase set smartcase" 當新開一行時,如果沒有開啟文件特定的縮進規則, " 則縮進保持與你當前行一致 set autoindent" 在左側顯示行號 set number" 縮進選項,根據個人偏好進行修改" 每個 TAB 的可視空格數 set tabstop=4" 編輯時 TAB 對應的空格數 set softtabstop=4" 當使用縮進操作 (>> 和 <<) 時縮進的空格數 set shiftwidth=4" 將 TAB 轉換成空格 set expandtab" 為縮進和對齊開啟智能化的 TAB 和空格切換功能 set smarttab參考
Vim | Home
$ vimtutor
A vim Tutorial and Primer
What are the dark corners of Vim your mom never told you about? (Stack Overflow thread)
Arch Linux Wiki
總結
 
                            
                        - 上一篇: 覃超-算法训练营 学习方法分享[1] 如
- 下一篇: [转] c++基础
