紅聯Linux門戶
Linux幫助

關于linux vim命令 總結(二)

發布時間:2014-09-10 11:37:18來源:紅聯作者:edu118gct
-------------------------其它的---------------------------
:{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
!! 在當前行執行程序 相當于 :.!
:jumps 列出跳轉記錄
:marks 列出所有標簽
:reg 查看寄存器內的內容
取消命令
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/.vim
ftplugin/_.vim
ftplugin//.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 i{ea} 映射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 上一個匹配項
* 從上向下搜索單詞
# 從下向上搜索單詞
搜索單詞: /\ 這樣指定了單詞的開始和結尾
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 :.g/^/co 'p :normal 需要首先用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 可以用任意的計數器
更多嵌入式、Linux學習聯系郭老師Q754634522,深圳-廣州-鄭州-長沙均有學習分點
*.需要注意的:
1. d2e 和 d2w 的區別
2. cw 和 ce 的結果一樣,都是c2e的結果
3. ^命令加上計數器沒有效果
4. Y和yy 的結果一樣,都是yy的結果,如果想用Y的效果只能y$了
5. vnoremap _g y:exe "grep /" . escape(@", '\\/') . "/ *.c *.h" 這句沒看懂 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|
文章評論

共有 2 條評論

  1. 4795442 于 2014-10-09 16:10:24發表:

    {:3_118:}

  2. bolaid 于 2014-09-11 08:57:39發表:

    有點模糊

贵州体彩11选5查询号码