日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vim常用命令详解

發布時間:2025/3/20 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vim常用命令详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.獲取幫助

?WHAT?PREPEND????EXAMPLE?~

??????Normal?mode?command??????(nothing)???:help?x

??????Visual?mode?command??v_???:help?v_u

??????Insert?mode?command??i_???:help?i_<Esc>

??????Command-line?command??:???:help?:quit

??????Command-line?editing??c_???:help?c_<Del>

??????Vim?command?argument??-???:help?-r

??????Option??'???:help?'textwidth'

??????查看錯誤信息?(nothing)??:help?E37

?

2.命令

編輯命令:?????

a?添加字符

A?從行尾添加字符

?????????????i(Insert)???????插入

I?從行第一個字符開始插入

x(效仿打字機)?刪除一個字符,例如3x刪除光標處向右的三個字符

d(delete)?刪除

dd?刪除一整行,3dd從當前行開始向下刪除三行文本

dw刪除當前字符到單詞尾包括空格的所有字符
  
yy命令復制當前整行的內容到vi緩沖區
  yw復制當前光標所在位置到單詞尾字符的內容到vi緩存區,相當于復制一個單詞
  y$復制光標所在位置到行尾內容到緩存區
  y^復制光標所在位置到行首內容到緩存區
  #yy例如:5yy就是復制5行
  #yw例如:2yw就是復制兩個單詞

  如果要復制第m行到第n行之間的內容,可以在末行模式中輸入m,ny例如:3,5y復制第三行到第五行內容到緩存區。

?

J?刪除回行符(合并兩行)?合行后中間加一個空格

gJ?刪除回行符,合行后首尾空格不去除

u(undo)?撤銷上一步操作

U(undo)?撤銷一整行操作(此操作算為一次操作,可用u撤銷)

Ctrl+R(redo)?從做撤銷的操作

i?在當前位置插入

o?在光標的下面插入新行

O?在光標的上面插入新行

r?替換光標下的字符,加上計數器表示連續替換多個字符為一個字符

R?替換整行字符

s刪除光標所在的字符,用你輸入的字符取代它

?

至上而下的查找
  /?要查找的字符竄,其中/代表從光標所在位置起開始查找,例如:/?work

  至下而上的查找
  ?要查找的字符竄?例如:??work

  替換
  :s/old/new用new替換行中首次出現的old
  :?s/old/new/g?用new替換行中所有出現的old
  :#,#?s/old/new/g用new替換從第#行到第#行中出現的old
  :%?s/old/new/g用new替換整篇中出現的old

  如果替換的范圍較大時,在所有的命令尾加一個c命令,強制每個替換需要用戶進行確認,例如:s/old/new/c?或s/old/new/gc

?

.?重復上一次更改

p?粘貼默認寄存器中的內容,可用計數器

y?復制選中內容到默認寄存器

~?切換當前字母大小寫

g~?切換字母大小寫

gU?將字母切換成大寫

gu?將字母切換成小寫

g~~?g~g~?切換整行字母大小寫

gUU?gUgU

guu?gugu

>?在visual模式下將選中的內容右移,前面填充空格

<?在visual模式下將選中的內容左移,前面的空格刪除

:{range}read?patch?在當前行的下面插入文件patch中的內容,如果指定了range?則插入到range中最后的一行下面,這里的range可以用特殊的行號0

:{range}read?!{command}?將命令的輸出插入到文件中

?

gq?格式化所選文本

:[range]m[ove]?{address}?把選中的文本移動到address下面

:[range]co[py]?{address}?把選中的文本復制到address下面

等價的:

x=dl

X=dh

D=d$

C=c$

s=cl

S=cc

?

位移命令:

??在普通模式下?hjkl?代表?左下上右,和上下左右四個箭頭是一樣的!

w?往后跳一個單詞,光標停在第一個字母上

b?往前挑一個單詞,光標停在第一個字母上

e?往后跳一個單詞,光標停在最后一個字母上

ge?往前跳一個單詞,光標停在最后一個字母上

$?跳到行尾,可用計數器向下跳多行

?

^?跳到行首不算上空白,加上計數器沒有效果

f?向后查找字符,用計數器表示查找到第幾個匹配字符

F?向前查找字符,用計數器表示查找到第幾個匹配字符

t

T

;?跳到下一個匹配的字符

,?跳到上一個匹配的字符

%?匹配括號?前面加數字表示跳轉到文件的百分比

G???前面加數字跳轉到明確的行,不加數字表示跳轉到文件的最后一行

gg?跳到文件的第一行

H(Home)?跳到屏幕的最上方一行

M(Middle)?跳到屏幕的中間一行

L(Last)?跳到屏幕的最下面一行,和end是一樣的

CTRL-U(up)?將屏幕向上滾動半個屏幕的文本

CTRL-D(down)?將屏幕向下滾動半個屏幕的文本

CTRL-E?將文字向上提一行

CTRL-Y?將文字向下拉一行

CTRL-F?將屏幕向下滾動一屏

CTRL-B???????????將屏幕向上滾動一屏

CTRL-]???跳轉到標簽內部

CTRL-T???跳轉到父標簽

??CTRL-O?????跳轉到更老的jump點

??CTRL-I?????跳轉到更新的jump點,與<TAB>功能相同

?

`?跳轉到某標簽的光標位置

'?跳轉到某標簽的行首

文本對象:(很像計數器+位移命令)

a?????包括前后空格

???????i????????????????不包括前后空格

w?單詞

s?句子

p?段落

其他命令:

?

------------------多文件-------------------------

vim?one.c?two.c?three.c???通過VIM同時編輯三個文件

:next??編輯下一個文件??可以用計數器?:2next

:wnext??保存并編輯下一個文件

:args??顯示打開VIM時編輯的文件列表

:previous??編輯上一個文件?可以用計數器

:wprevious??保存并編輯上一個文件

:first??編輯第一個文件(沒有w版本)

:last??編輯最后一個文件(沒有w版本)

:args?*.txt??從新編輯文件列表,未保存文件將提示,可以用通配符,可以用強制符

?

-------------------多窗口----------------------------------

vim?-o?one.txt?two.txt?水平多個窗口打開多個文件

vim?-O?one.txt?two.txt???垂直多個窗口打開多個文件

:all?為列表中的文件各開一個窗口(可vertical)

:split?上下分割當前窗口,在上面打開新窗口

:vsplit?左右分割窗體,在左邊打開新窗口

:split?two.c?在新窗口編輯文件

:3split?alpha.c?設定新窗口的高度

:new?創建新窗口創建新文件在當前窗口上面

:vnew?創建新窗口創建新文件在當前窗口左面

:vertical?new?等同于vnew

:vertical?加在任何分割窗口的命令前面,使其垂直分割

CTRL-W?w?窗口切換

CTRL-W?CTRL-W?和CTRL+W?w一樣

:close?關閉窗口

:only?關閉其他所有窗口

CTRL-W?+?增大窗口,可以用計數器

CTRL-W?-?減小窗口,可以用計數器

15CTRL-W?_?指定當前窗口高度為15

CTRL-W?_?最大化當前窗口

CTRL-W?h?move?to?the?window?on?the?left

CTRL-W?j?move?to?the?window?below

CTRL-W?k?move?to?the?window?above

CTRL-W?l?move?to?the?window?on?the?right

CTRL-W?t?move?to?the?TOP?window

CTRL-W?b?move?to?the?BOTTOM?window

CTRL-W?H?move?window?to?the?far?left

CTRL-W?J?move?window?to?the?bottom

CTRL-W?K?move?window?to?the?top

CTRL-W?L?move?window?to?the?far?right

:qall?退出所有窗口

:wall?存儲所有文件

:wqall?存儲并退出所有文件

:qall!?放棄存儲退出所有文件

?

------------------------文件對比--------------------------

vimdiff?a.c?b.c?對比兩個文件的差別

zc?關閉折疊

zo?打開折疊

-----------------------tab欄------------------------------

gT?反向的gT

:tab?split?通過一個新tab打開當前文件

:tab?help

:tabonly?除了當前的tab其它的都關閉

-----------------------GUI選項----------------------------

:set?guioptions?設置GUI的選項?T代表toolsbar?l代表左滾動條

:behave?xterm?把鼠標設置成Xterm模式

:behave?mswin?把鼠標設置成mswin模式

'mouse'?in?which?mode?the?mouse?is?used?by?Vim

'mousemodel'?what?effect?a?mouse?click?has

'mousetime'?time?between?clicks?for?a?double-click

'mousehide'?hide?the?mouse?while?typing

'selectmode'?whether?the?mouse?starts?Visual?or?Select?mode

:setselectmode+=mouse?通過鼠標選擇文本進入選擇模式,選擇模式下輸入字符會使用新字符替換之前選中的字符。

-------------------------其它的---------------------------

:{range}write>>logfile?將當前內容追加到指定文件中

:{range}write?保存,后面加路徑為另存為

:{range}write?{command}?將當前文件保存到command中表示把當前文件作為被調用命令的參數?如?:write?!wc?返回當前文件的字符數

:w?:write的縮寫

:edit(e)?打開,編輯

ZZ?????????保存并退出

zz???將光標所在行移至窗口中間

:q???退出

vim?-R?file?用只讀模式打開file?unix中view?file等效,通過w!可以強制存盤

vim?-M?file?用只讀模式打開file?通過?:set?modifiable?:set?write?可以去除這種保護

vim?-r?file?用swp文件恢復當前打開文件,恢復一個還沒有命名保存的文件時用?vim?-r?""?,其中file可以是被恢復的原文件,也可以是用于恢復的交換文件(VIM會根據交換文件自動找到原文件)

vim?-r?列出當前可用的所有交換文件,然后選擇用哪個恢復

:recover?用交換文件恢復當前文件

:set?shortmess?選擇關閉信息提示功能

:saveas?move.s?將當前文件另存為move.s

:file?move.c?將當前文件重命名為move.c

{command}!???強制符

!{motion}{program}?執行外部程序?輸入完!{motion}部分后命令會自動跳轉到命令行部分,會通過motion部分的內用調用program然后用返回結果覆蓋調motion選擇的部分?例如:!5Gsort<Enter>

!!?在當前行執行程序?相當于?:.!

:jumps?列出跳轉記錄

:marks?列出所有標簽

:reg?查看寄存器內的內容

<ESC>?????取消命令

CTRL-G?????顯示行數等信息

m?創建標簽,用a-z?是局域標簽,A-Z是全局標簽

v?進入visual模式

V?進入visual模式,以行為對象

CTRL-V?進入visual模式,以矩形為對象

o?在以矩形為單位的visual模式時?光標對角切換

O?在以矩形為單位的visual模式時?光標平角切換

"{a-Z,+,*等}?選擇寄存器復制\剪切\粘貼?大寫字母表示追加

'"?跳到上次退出此文件時的位置

'.?跳到最后編輯此文件的位置

:TOhtml?把當前文件轉化成HTML格式

:source?$VIMRUNTIME/syntax/2html.vim??把2html.vim轉化成HTML顯示在屏幕上

g?Ctrl-G?統計字數,可以在visual模式下選擇要統計的字符

---------------------------------------------------------------

?

3.配置與設置

在布爾型參數前加no表示關閉選項

配置項支持-=?和?+=

拷貝默認的配置文件:??????:!cp?-i?$VIMRUNTIME/vimrc_example.vim?~/.vimrc

VIM的默認安裝路徑:/usr/share/vim

VIM的默認配置文件路徑:?~/.vim/

VIM的默認插件文件路徑:?~/.vim/plugin/

VIM的默認文件類型配置文件路徑:?~/.vim/ftplugin/

VIM的默認文檔安裝路徑:?~/.vim/doc

文件類型配置文件多文件的配置方式:

ftplugin/<filetype>.vim

ftplugin/<filetype>_<name>.vim

ftplugin/<filetype>/<name>.vim

mkdir?$VIM/vimfiles/ftplugin/fortran

$VIM/vimfiles/ftplugin/fortran/too.vim


??高亮字體設置的路徑:$VIMRUNTIME/syntax

配色方案的路徑:$VIMRUNTIME/colors???~/.vim/colors

生成幫助文件的tags:???????????????:helptags?~/.vim/doc

查看本地添加的所有幫助文件:??:help?local-additions

打開配置文件?:edit?$MYVIMRC

查看版本和一些文件配置信息????????:version

把所有選項攝制成默認??????????????:set?all&

查看所有和默認不一樣的設置????????:set

打開設置窗口??:options

配置命令:

在所有配置項后面添加&表示設置為默認值

:set?showmode???????????????????????顯示當前的模式

:set?compatible????????????????????????查看當前是否為兼容模式

:set?number???????????????????????顯示行號

:set?ruler???????????????????????在屏幕右下角顯示光標位置

:set?ignorecase????????????????????????搜索乎略大小寫

????????:set?hlsearch???????????????????????設置搜索結果高亮

:nohlsearch???????關閉當前搜索結果的高亮

:set?incsearch???????????????????????(incomplete)在輸入單詞的同時顯示搜索結果

:set?wrapscan???????????????????????搜索到文件底部的時候從文件的開頭繼續搜索反之亦然

:set?wrap???????是否自動換行

:set?whichwrap???????設置那些命令可以跨行b是backspace?s是Space?具體查看'whichwrap'

:set?sidescroll???????設置左右自動滾動的觸發字符數

:set?scrolloff???????設置上下自動滾動的觸發行數

:set?compatible????????????????????????是否與vi兼容

:set?backspace=indent,eol,start????????設置在Insert模式下backspace鍵可以刪除?行前的自動縮進,回行,和進入插入模式時光標之前的字符

:set?autoindent????????????????????????自動縮進(在Insert中回車或者在正常模式下o)

:set?backup???????覆蓋一個文件時備份它

:set?history???????設置命令和搜索的歷史記錄數量

:set?showcmd???????在右下角顯示按鍵命令

:set?list???????制表符高亮

:set?listchars=tab:>-,trail:-???????設置制表符的替換字符串

:set?iskeyword???????設置關鍵字的組成字母@表示a-Z

:set?cmdheight???????設置命令區高度

:map?Q?gq???????設置映射

:map?<F5>?i{<Esc>ea}<Esc>???????映射F5的功能為給一個單詞加{}

:set?shiftwidth???????設置左右移動的距離

:set?joinspaces???????設置合行后的空格數

:set?textwidth???????設置文本的寬度

:set?updatetime???????設置多長時間沒有編輯文件就自動存盤,毫秒為單位

:set?updatecount???????設置輸入多少字符后自動存盤

:set?directory???????設置查看在哪里存儲交換文件

:set?autowrite???????自動存盤,此存盤是在必要時刻自動存儲不像word那樣隔幾分鐘存一次

?

配置文件中的特殊用法:

autocmd?自動執行命令

autocmd?FileType?text?setlocal?textwidth=78?設置?文本文件?文本寬度為78

手動設置文件的高亮配置文件:

在文件開頭或者結尾寫入??#?vim:?syntax=make

在VIM中執行shell的時候可以配置shell備置列表如下:

'shell'?specifies?the?program?that?Vim?uses?to?execute?external?programs.

'shellcmdflag'?argument?to?pass?a?command?to?the?shell

'shellquote'?quote?to?be?used?around?the?command

'shellxquote'?quote?to?be?used?around?the?command?and?redirection

'shelltype'?kind?of?shell?(only?for?the?Amiga)

'shellslash'?use?forward?slashes?in?the?command?(only?for?MS-Windows?and?alikes)

'shellredir'?string?used?to?write?the?command?output?into?a?file

4.搜索

搜索支持正則表達式

/?向后搜索

??向前所搜

n?下一個匹配項

N?上一個匹配項

*?從上向下搜索單詞

#?從下向上搜索單詞

搜索單詞:?/\<the\>??這樣指定了單詞的開始和結尾

5.常用套路技巧:

套路:

x?delete?character?under?the?cursor?(short?for?"dl")

X?delete?character?before?the?cursor?(short?for?"dh")

D?delete?from?cursor?to?end?of?line?(short?for?"d$")

dw?delete?from?cursor?to?next?start?of?word

db?delete?from?cursor?to?previous?start?of?word

diw?delete?word?under?the?cursor?(excluding?white?space)

daw?delete?word?under?the?cursor?(including?white?space)

dG?delete?until?the?end?of?the?file

dgg?delete?until?the?start?of?the?file

技巧:

'*?是選區寄存器(用鼠標中鍵)??'+?是粘貼寄存器(一般是菜單里的復制粘貼選項)

Insert模式和Replace模式可以用Insert鍵切換

將Doe,John?替換成?John?Doe?用如下方法:

:%s/\([^,]*\),\(.*\)/\2?\1/????????其中\1?表示正則表達式中第一個匹配部分,整句的匹配部分用?\0表示

?

反序排列的方法:

首先到要反序的第一行,用mt標注當前位置,然后到要替換的反序的最后一行,輸入命令:'t+1,.g/^/m?'t?可以用.范圍(global默認是%)然后編輯反射這樣就可以挑出想要的內容,還可以不確定范圍用0代替?'t將對整個文件進行反序

挑選文本的方法:

:map?<F4>?:.g/^/co?'p<enter>?:normal?<c-o><enter>?需要首先用mp定義p的位置

6.配色方案:

命令:

:syntax?on???????打開語法高亮

:syntax?clear???????清楚當前的語法高亮

:syntax?off???????關閉語法高亮

:syntax?manual???????將高亮模式設置為手動

:set?syntax=ON???????設置以上選項后,用這個命令開啟語法高亮

:filetype?on???????打開文件類型檢測

:set?filetype???????設置當前文件類型

:plugin?on???????使用文件類型插件

:indent?on???????打開文件類型自動縮進

????????:set?background???????手動配置背景色(VIM一般會自動推斷終端的背景色)?此命令必須放置在?:syntax?enable?前?否則不起作用

:syntax?reset???????vim重新設置默認顏色

:runtime?syntax/colortest.vim???????查看配色方案的實例

:colorscheme???????選擇配色方案

:colorscheme?mine???????一直使用自己的配色方案

CTRL-L???????重繪VIM的屏幕

配色方案文件中的關鍵字及作用:

配色方案的路徑:$VIMRUNTIME/colors???~/.vim/colors

term?attributes?in?a?B&W?terminal

cterm?attributes?in?a?color?terminal

ctermfg?foreground?color?in?a?color?terminal

ctermbg?background?color?in?a?color?terminal

gui?attributes?in?the?GUI

guifg?foreground?color?in?the?GUI

guibg?background?color?in?the?GUI

可以這樣設置:highlight?Comment?ctermfg=green?guifg=green

?

7.命令記錄與回放

q{a-z}?用于開始記錄宏,放在寄存器里面的命令可以當成文本粘貼出來,大寫字母表示追加

q?結束宏

@{a-z}?執行宏

@@?用上一次執行宏的寄存器執行宏

8.搜索替換

:[range]substitute/from/to/[flags]?搜索替換的格式?substitute縮寫為s,=和+也可以用于分隔符

[range]?默認為當前行

[flags]?默認指替換第一個

g(gloabl)?替換范圍內全局

p(print)?顯示替換的最后一行

e?告訴VIM未找到匹配時不要報錯

c(confirm)?每次替換要求用戶確認

y?Yes;?make?this?change.

n?No;?skip?this?match.

a?All;?make?this?change?and?all?remaining?ones?without?further?confirmation.

q?Quit;?don't?make?any?more?changes.

l?Last;?make?this?change?and?then?quit.

CTRL-E?Scroll?the?text?one?line?up.

CTRL-Y?Scroll?the?text?one?line?down.

9.全局命令

:[range]global/{pattern}/{command}?全局命令的一般形式,其中global可以縮寫成g,command必須是:命令,正常模式下的命令可以通過?:normal實現

10.命令范圍

任何命令都可以有一個范圍

{number}?number是行號,指定一行

{number},{number}?指定多行,包含指定的兩行,這里的number可以是一個搜索模式,??abc???表示向上搜索abc?/abc/?表示向下搜索abc?,當開始行大于結束行的時候它會問你是否交換兩個參數,可以在任何number后面添加偏移量,例如:?.+1,$-3??或者??a?+1,/b/-1等等,還可以在visual模式下選擇范圍當按下:時會出現?:'<,'>?這時的作用范圍即是選區開始的字符到選區結束的字符,要注意的是即使是CTRL-V進入的塊選區也是以行為基本單位

.?光標的當前行

1?第一行

$?最后一行

%?相當于?1,$

'a-z'?number還可以用mark表示

`<?上一個選區開始的位置

`>?上一個選區結束的位置

'<?上一個選區開始的行

'>?上一個選區結束的行

5:?就是在:前面加計數器將會在命令欄打開?:.,.+4?可以用任意的計數器

*.需要注意的:

1.?d2e?和?d2w?的區別

2.?cw?和?ce?的結果一樣,都是c2e的結果

3.?^命令加上計數器沒有效果

4.?Y和yy?的結果一樣,都是yy的結果,如果想用Y的效果只能y$了

??5.?vnoremap?_g?y:exe?"grep?/"?.?escape(@",?'\\/')?.?"/?*.c?*.h"<CR>?這句沒看懂??????05.2*?The?example?vimrc?file?explained

6.?autocmd?BufReadPost?*

???\?if?line("'\"")?>?1?&&?line("'\"")?<=?line("$")?|

???\???exe?"normal!?g`\""?|

???\?endif

沒看懂?05.2*?The?example?vimrc?file?explained

7.?關于自定義高亮?查看?mysyntaxfile?????和??syntax

8.?關于自定義文件類型?查看????new-filetype|

http://www.pc6.com/infoview/Article_50413_all.html

"?設定默認解碼
set?fenc=utf-8
set?fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936

"?不要使用vi的鍵盤模式,而是vim自己的
set?nocompatible

"?history文件中需要記錄的行數
set?history=100

"?在處理未保存或只讀文件的時候,彈出確認
set?confirm

"?與windows共享剪貼板
set?clipboard+=unnamed

"?偵測文件類型
filetype?on

"?載入文件類型插件
filetype?plugin?on

"?為特定文件類型載入相關縮進文件
filetype?indent?on

"?保存全局變量
set?viminfo+=!

"?帶有如下符號的單詞不要被換行分割
set?iskeyword+=_,$,@,%,#,-

"?語法高亮
syntax?on

"?高亮字符,讓其不受100列限制
:highlight?OverLength?ctermbg=red?ctermfg=white?guibg=red?guifg=white
:match?OverLength?'\%101v.*'

"?狀態行顏色
highlight?StatusLine?guifg=SlateBlue?guibg=Yellow
highlight?StatusLineNC?guifg=Gray?guibg=White

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"?文件設置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"?不要備份文件(根據自己需要取舍)
set?nobackup

"?不要生成swap文件,當buffer被丟棄的時候隱藏它
setlocal?noswapfile
set?bufhidden=hide

"?字符間插入的像素行數目
set?linespace=0

"?增強模式中的命令行自動完成操作
set?wildmenu

"?在狀態行上顯示光標所在位置的行號和列號
set?ruler
set?rulerformat=%20(%2*%<%f%=\?%m%r\?%3l\?%c\?%p%%%)

"?命令行(在狀態行下)的高度,默認為1,這里是2
set?cmdheight=2

"?使回格鍵(backspace)正常處理indent,?eol,?start等
set?backspace=2

"?允許backspace和光標鍵跨越行邊界
set?whichwrap+=<,>,h,l

"?可以在buffer的任何地方使用鼠標(類似office中在工作區雙擊鼠標定位)
set?mouse=a
set?selection=exclusive
set?selectmode=mouse,key

"?啟動的時候不顯示那個援助索馬里兒童的提示
set?shortmess=atI

"?通過使用:?commands命令,告訴我們文件的哪一行被改變過
set?report=0

"?不讓vim發出討厭的滴滴聲
set?noerrorbells

"?在被分割的窗口間顯示空白,便于閱讀
set?fillchars=vert:\?,stl:\?,stlnc:\

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"?搜索和匹配
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"?高亮顯示匹配的括號
set?showmatch

"?匹配括號高亮的時間(單位是十分之一秒)
set?matchtime=5

"?在搜索的時候忽略大小寫
set?ignorecase

"?不要高亮被搜索的句子(phrases)
set?nohlsearch

"?在搜索時,輸入的詞句的逐字符高亮(類似firefox的搜索)
set?incsearch

"?輸入:set?list命令是應該顯示些啥?
set?listchars=tab:\|\?,trail:.,extends:>,precedes:<,eol:$

"?光標移動到buffer的頂部和底部時保持3行距離
set?scrolloff=3

"?不要閃爍
set?novisualbell

"?我的狀態行顯示的內容(包括文件類型和解碼)
set?statusline=%F%m%r%h%w\?[FORMAT=%{&ff}]\?[TYPE=%Y]\?[POS=%l,%v][%p%%]\?%{strftime(\"%d/%m/%y\?-\?%H:%M\")}

"?總是顯示狀態行
set?laststatus=2

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"?文本格式和排版
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"?自動格式化
set?formatoptions=tcrqn

"?繼承前一行的縮進方式,特別適用于多行注釋
set?autoindent

"?為C程序提供自動縮進
set?smartindent

"?使用C樣式的縮進
set?cindent

"?制表符為4
set?tabstop=4

"?統一縮進為4
set?softtabstop=4
set?shiftwidth=4

"?不要用空格代替制表符
set?noexpandtab

"?不要換行
set?nowrap

"?在行和段開始處使用制表符
set?smarttab

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"?CTags的設定
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"?按照名稱排序
let?Tlist_Sort_Type?=?"name"

"?在右側顯示窗口
let?Tlist_Use_Right_Window?=?1

"?壓縮方式
let?Tlist_Compart_Format?=?1

"?如果只有一個buffer,kill窗口也kill掉buffer
let?Tlist_Exist_OnlyWindow?=?1

"?不要關閉其他文件的tags
let?Tlist_File_Fold_Auto_Close?=?0

"?不要顯示折疊樹
let?Tlist_Enable_Fold_Column?=?0

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"?Autocommands
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"?只在下列文件類型被偵測到的時候顯示行號,普通文本文件不顯示

if?has("autocmd")
?autocmd?FileType?xml,html,c,cs,java,perl,shell,bash,cpp,python,vim,php,ruby?set?number
?autocmd?FileType?xml,html?vmap?<C-o>?<ESC>'<i<!--<ESC>o<ESC>'>o-->
?autocmd?FileType?java,c,cpp,cs?vmap?<C-o>?<ESC>'<o
?autocmd?FileType?html,text,php,vim,c,java,xml,bash,shell,perl,python?setlocal?textwidth=100
?autocmd?Filetype?html,xml,xsl?source?$VIMRUNTIME/plugin/closetag.vim
?autocmd?BufReadPost?*
?\?if?line("'\"")?>?0?&&?line("'\"")?<=?line("$")?|
?\??exe?"normal?g`\""?|
?\?endif
endif?"?has("autocmd")

"?F5編譯和運行C程序,F6編譯和運行C++程序
"?請注意,下述代碼在windows下使用會報錯
"?需要去掉./這兩個字符

"?C的編譯和運行
map?<F5>?:call?CompileRunGcc()<CR>
func!?CompileRunGcc()
exec?"w"
exec?"!gcc?%?-o?%<"
exec?"!?./%<"
endfunc

"?C++的編譯和運行
map?<F6>?:call?CompileRunGpp()<CR>
func!?CompileRunGpp()
exec?"w"
exec?"!g++?%?-o?%<"
exec?"!?./%<"
endfunc

"?能夠漂亮地顯示.NFO文件
set?encoding=utf-8
function!?SetFileEncodings(encodings)
?let?b:myfileencodingsbak=&fileencodings
?let?&fileencodings=a:encodings
endfunction
function!?RestoreFileEncodings()
?let?&fileencodings=b:myfileencodingsbak
?unlet?b:myfileencodingsbak
endfunction

au?BufReadPre?*.nfo?call?SetFileEncodings('cp437')|set?ambiwidth=single
au?BufReadPost?*.nfo?call?RestoreFileEncodings()

"?高亮顯示普通txt文件(需要txt.vim腳本)
au?BufRead,BufNewFile?*??setfiletype?txt

"?用空格鍵來開關折疊
set?foldenable
set?foldmethod=manual
nnoremap?<space>?@=((foldclosed(line('.'))?<?0)???'zc'?:?'zo')<CR>

"?minibufexpl插件的一般設置
let?g:miniBufExplMapWindowNavVim?=?1
let?g:miniBufExplMapWindowNavArrows?=?1
let?g:miniBufExplMapCTabSwitchBufs?=?1
let?g:miniBufExplModSelTarget?=?1
--------------------------------------------------------------------------------
.gvimrc
"?Buffer的位置和大小
winpos?300?100
set?lines=28
set?columns=90

"?因為設定為不換行,所以要顯示底部滾動條,不顯示左右滾動條和工具欄
set?guioptions+=b
set?guioptions-=r
set?guioptions-=l
set?guioptions-=T

"?設定顏色方案和字體
"?英文用Consolas顯示,中文用微軟雅黑
colorscheme?desert
set?guifont=Consolas\?11.5
set?guifontset=Microsoft\?YaHei\?11


"?用淺色高亮當前行
autocmd?InsertLeave?*?se?nocul
autocmd?InsertEnter?*?se?cul

http://www.ax.net.cn/?action=show&id=251

在命令模式下輸入
:set?nu
或者
:set?number
都可以為vi設置行號,如果要取消的話,則輸入
:set?nonu
行號的設置是vi的環境設置,不會影響文本的內容。

http://zhidao.baidu.com/question/188146901.html&__bd_tkn__=

6abd4535212f8b25470aa16db7a564f6940ad7e68078338d51fed8133

ea5c69d362ad36bb4bcda3b39bb3949f6bbe47087ac3af56e60b1f4e7eb6015

7954f5339961a0f85f0f03de01252774a633c90749059d057e2ecf84d338367806

2d4128bf670b4738b2adab950789accbdc8d0cc93023f448ac

Linux下VI編輯器如果出現不能保存中文的問題你可以在當前用戶下,建.vimrc文件內容如下:

set?nocompatible?"Use?Vim?defaults?(much?better!)set?bs=indent,eol,start"?Allow?backspacing?over?everything?in?insert?mod

http://server.zol.com.cn/127/1270793.html

?


?

?

?

?

?

轉載于:https://blog.51cto.com/mcmvp/986342

總結

以上是生活随笔為你收集整理的vim常用命令详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。