Vim 基本配置和常用的命令

vim 優點和應用場景

vim 的優勢純文字編輯 Linux 完美的融合提供了命令行。只能假設 ssh 至server進行操做,那麼這樣的狀況就僅僅能使用 vim 了。vim 也是最爲強大的通用文本編輯器之中的一個,對於需要編輯不一樣文本的情景,vim 也是至關有優點的。因此,熟練掌握一下 vim 的基本使用仍是很是有必要的。前端


vim 是在 vi 基礎上加很是多新特徵發展而來。gvim 則給 vim 加上了圖形前端。假設在 Windows 下使用 vim,可以直接安裝最新的 gvim。python


這裏給出一個主要的 vimrc 配置文件。沒有配置不論什麼插件,僅僅是把主題改爲了自帶 evening 暗調主題。字體改爲了 Consolas 等寬字體。並對行號。縮進,搜索等作了一些基本設置。而且把作了鍵映射 <ESC> -> ii,i 原本是切換到插入模式,高速雙擊i, 則又切換回到 normal 模式很順手。
  • Linux 中通常在用戶 home 文件夾建一個 .vimrc 文件進行改動。而不是去改動 /etc/vim 文件夾下的全局配置,影響所有用戶。

  • Windows 中 vimrc 位於 C:\Program Files (x86)\Vim 文件夾下。名字是 _vimrc, 假設按裝了 everything ,則直接搜索 vimrc 一步就可定位。

vim 的配置文件 vimrc

"-----------------------------------------------------------------------------------  
:imap ii <Esc>                     " 按鍵映射  <ESC> -> ii
  
"外觀  
colorscheme evening                " 配置顏色主題  
set guifont=Consolas:h12           " 設置字體和大小  
set number                         " 顯示行號  
set guioptions-=T                  " 隱藏工具欄  
set ruler                          " 打開狀態欄標尺  
set cursorline                     " 突出顯示當前行  
set syntax=on                      " 語法高亮  
set showmatch                      " 高亮顯示匹配的括號  
set matchtime=3                    " 匹配括號高亮的時間(單位:0.1s)  
set scrolloff=10                   " 光標到屏幕底端保留 10 行 (光標位於屏底看着很是不舒服的)  
set lines=35 columns=118           " 啓動時的大小
:winpos 177 51                     " 啓動時的位置
  
"搜索  
set ignorecase smartcase           " 搜索忽略大寫和小寫,但有大寫字母時仍保持大寫和小寫敏感  
set hlsearch                       " 高亮搜索  
set incsearch                      " 增量式搜索,逐字符高亮  
  
"操做  
set clipboard+=unnamed             " 共享剪切板  
set showcmd                        " 輸入的命令顯示出來  
set iskeyword+=_,$,@,%,#,-         " 帶有例如如下符號的單詞不要被換行切割  
set noexpandtab                    " 不用空格取代Tab (makefile是會經常常使用Tab的)  
set tabstop=4                      " Tab 鍵的寬度  
set shiftwidth=4                   " 行交錯寬度  
set mouse=a                        " 鼠標可用  
set autoindent                     " 繼承前一行的縮進方式。特別適用於多行凝視   
  
"備份  
set confirm                        " 未保存或者僅僅讀時,彈出確認  
set nobackup                       " 不生成備份文件  
setlocal noswapfile                " 不生成 swap 文件  
set bufhidden=hide                 " 當 buffer 被丟棄的時候隱藏  
set noerrorbells                   " 不發出警告聲  
  
"解碼  
set fenc=utf-8   
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936

vim 的常常使用命令

# 效率
.        # 反覆近期的文本操做

# 文件
:q       # 退出 q->quit
:w       # 保存 w->write
:q!      # 強制退出不保存
:wq      # 保存後退出   
ZZ       # 保存後退出,同 :wq   

# 光標移動
hjkl     # 最主要的左下上右。移動一個字符
zz       # 光標作在行移動到屏幕中間
w        # 向前移動一個單詞。光標停在單詞首部
b        # 向後移動一個單詞, 光標停在單詞首部
e        # 同 w, 光標停在單詞尾部
ge       # 同 b, 光標停在單詞尾部
0        # 本行第一個字符 (同 <HOME> 鍵)
^        # 本行第一個非空白字符
$        # 移動到行尾 (同 <END> 鍵)
gg       # 移動到文件頭
G        # 移動到文件尾
:n       # 跳轉到第 n 行
fx       # 移動到光標後第一個爲 x 的字符 find  
Fx       # 同 f,反向移     
Ctrl+d   # 向下滾動半屏
Ctrl+u   # 向上滾動半屏
Ctrl+f   # 向下滾動半屏
Ctrl+b   # 向上滾動半屏
%        # 跳轉到配對的括號 (常常使用)
(        # 移動到當前句子開始
)        # 移動到下一句子開始
H        # 移動頁面頂部  H->High
M        # 移動頁面中部  M->Middle
L        # 移動頁面底部  L->Low

# 查找
/test           # 查找 text ,(記得用正則表達式), 而後 n 向下。 N 向上 n->next
?test           # 查找 text 。反向
*               # 向下查找和光標所在單詞同樣的詞
#               # 向上查找和光標所在單詞同樣的詞
:nohlsearch     # 關閉當前高亮顯示的結果 (輸入 :noh 按下 <Tab> 鍵 就能夠本身主動補全)

# 替換
ra              # 當前字符替換爲 a , r->replace
:%s/old/new/g   # 替換全文的所有的匹配  g->global
:%s/old/new/    # 替換所有行第一個匹配
:s/old/new/g    # 替換當前行所有匹配
:s/old/new/     # 替換當前行第一個匹配

# 插入
a        # 在當前位置後插入 a->append
A        # 在當前行尾插入 
i        # 在當前位置插入   i->insert
I        # 在當前行首插入
o        # 在當前行以後插之中的一個行
O        # 在當前行以前插入一行
s        # 刪除光標所在字符,並進入插入模式
S        # 刪除光標所在的行,並進入插入模式

# 選中
v        # 從光標當前位置開始,光標所通過的地方會被選中,再按一下 v 結束  (類似 <shift>+方向建) v->view 可視模式
V        # 從光標當前行開始,光標通過的行都會被選中,再按一下 V 結束 

# 刪除
d        # 刪除選中 (刪除內容到了緩衝區可以被粘貼,至關於剪切) d->delete
x        # 刪除當前字符
3x       # 刪除當前光標向後三個字符 (vim 經常常使用 <數字>+<命令> 組合)
dd       # 刪除當前行
dw       # 刪除光標所在字符至下個單詞開頭 dw -> delete word
d$       # 刪除當前字符到行尾   %->正則中就是行尾
3d       # 刪除當前行開始三行
J        # 合併兩行 (即刪除當行尾換行符) J->join

# 撤銷
u        # 撤銷  u->undo
U        # 撤銷對正行的操做
Ctrl+r   # 恢復撤銷

# 複製粘貼
y        # 複製選中
yy       # 複製當前行
p        # 在當前光標後粘貼。假設複製了一行則粘貼到下一行 p-paste
P        # 在當前光標前粘貼
ddp      # 交換當前行和下一行 (巧妙運用了剪切粘貼)
xp       # 交換當前字符和下一個

版權聲明:本文博主原創文章,博客,未經贊成不得轉載。vim

[http://blog.csdn.net/thisinnocence]app

相關文章
相關標籤/搜索