日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

vim 成“神“之路 (一)

發布時間:2023/11/27 生活经验 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vim 成“神“之路 (一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 1. 安裝
    • 1.1 linux
    • 1.2 MacOs的安裝
    • 1.3 Windows的安裝
    • 1.4 vim中文幫助文檔安裝
  • 2. vim基本概念和基礎命令
    • 2.1 基本的鍵位映射如下:
    • 2.2 vim模式
    • 2.3 vim的選項和基本配置
      • 2.3.1 備份和跨會話撤銷文件
      • 2.3.2 vim中支持鼠標
  • 3. vim 常用命令 -- 應對稍復雜任務
    • 3.1 光標移動
    • 3.2 文本修改
    • 3.3 文本對象選擇
    • 3.4 文本移動 -- 更快
    • 3.5 重復操作
  • 4. vim 的簡單定制
    • 4.1 vim 的目錄結構
    • 4.2 vim 軟件包
  • 5. vim 的復制與粘貼
  • 6. vim的模式匹配:正則表達式
    • 6.1 基本的特殊字符
    • 6.2 特殊模式項
    • 6.3 一些搜索舉例
      • 6.3.1 最長匹配和最短匹配
      • 6.3.2 搜索加亮和取消
      • 6.3.3 正則表達式替換
      • 6.3.4 替換實例

哈哈,有點標題黨的意思,vim帶你成"神"?還是你通過vim成了"神"?還是學習了vim,感覺vim就是"神"? 仔細耐心體驗一下vim的"神跡"。

vim 作為程序員三大美德體現:懶惰,急切,傲慢 的優秀編輯器,已經走過了接近三十個年頭。

從肯·湯普遜 1978年將unix 操作系統傳播開來,到比爾·喬伊 完成第一個版本的全屏編輯器 vi的開發(在此之前有很多基于行的編輯器ed,em,en ,ex),再到布萊姆·穆勒納爾 持續維護了三十年的vi 克隆版本, 最后也就演變成了我們現在使用的vi IMproved – vim。

vim的優點如下:

  • vim 是一個完全跨平臺的編輯器
    從開始的unix,到 現在最為通用流行的 linux,windows,Macos,再到不經常用的操作系統OS/2, BeOS,甚至ios和android也能找到vim的移植版本。
  • vim 是一個高度定制和可擴展的編輯器
    通過vim 自身腳本語言(Vim Script)可以擴展vim的功能,如果vim 腳本能力還不足,則可以通過Python ,Perl 等其他通用腳本語言進行擴展。這樣就能夠非常自由得打造屬于自己的專屬環境。
  • vim 良好的生態環境
    網絡上已有的現成的腳本和插件,能夠直接搭建順手的開發環境。像經常用的語法補全,語法檢查等常用功能,都可以在vim下實現,且能夠通過配置 不需要離開vim 編輯器就能完成從寫代碼、到編譯運行的大部分工作。

有這么多優點,又是無數大佬自己使用的編輯器,那么vim 就需要快速搞起來,來讓自己的工作效率進一步提升,希望這篇成神之路能夠帶給你在vim上足夠多的幫助。
客觀來講,vim的配置確實非常繁瑣,甚至復雜,想要達到現在vscode ,clion的方便程度確實會花費不少時間。但vim的高效是能夠在手指不離開鍵盤的情況下完成任何場景下的編輯工作,手指快速敲擊三個鍵以內就能夠達到一段文本的增刪改查。

當然打造自己的vim 感覺 就像是公元前1500年前后 印歐語系游牧的蠻族潛心打造的青銅器,青銅戰車 ,馬具馬鞍,戴著他們橫掃了整個歐亞大陸的古代文明,從尼羅河的埃及文明到地中海的米諾斯文明,到幼發拉底河和底格里斯河的美索不達米亞文明,到印度河文明和中國的商朝(北方的游牧民族)都被精良高效的戰爭民族所取代,顛覆了整個大陸的格局。
vim所做的就是能夠一統整個ide的大陸,用靈活的插件搭配強大的快捷操作實現 ,我們只需要在這個大陸上專注耕耘,建立自己的的偉大帝國。

先瞅瞅當前我的vim 使用上的一些效果:

  • 窗口分割
  • 自動補全
  • markdown
  • 查看文件歷史修改記錄

    這上面僅僅是展示很小很小一部分插件的編輯功能,每一種編輯功能都會有很多更加方便的細節配置。
    同時 本文也只是提供一條道路,希望大家能夠在這條道路上找到適合自己的編輯模式。

最后vim 當然也能夠支持閱讀源代碼,只不過源代碼顯示上不太舒適,這里使用clion這個老東家也很久了,所以還是不能喜新厭舊呀,用它作為擼源碼的工具 還是很給力,而vim主要用在編輯或者寫代碼之上。

vimrc已經放置在vim-github,不過需要vim版本在8.2以上,或者neovim在0.4.4版本才行。
如果能夠看懂vimrc中的簡單vim script,建議先熟悉一下基本鍵位和操作,熟悉之后會發現編輯查看效率 急速飆升,指尖如飛。

1. 安裝

1.1 linux

  • Redhat 和 Centos

    查看是否已經安裝vim

    yum list installed |grep vim
    

    如果只有如下這樣的輸出,則說明是最小的vim安裝

    vim-minimal.x86_64             2:7.4.160-2.el7          @centos7.3-x86_64-base
    

    建議使用sudo yum install vim-enhanced.x86_64安裝增強版的vim。

  • Debian 和 Ubuntu
    使用apt進行安裝,同時在這兩種系統下vim有比較多的功能

    vim
    vim-athema #適用于老的 X-window 界面
    vim-gnome
    vim-gtk  #使用于GTK環境
    vim-gtk3 #適用于GTK環境
    vim-nox #有比較全面的文本界面vim包
    vim-tiny #最小功能的vim包
    

    安裝可以遵循如下規則

    • 如果系統使用的是GNOME桌面環境時,安裝vim-gtk3vim-gnome
    • 如果使用的是KDE桌面 ,安裝vim-gtk
    • 如果使用文本界面,安裝vim-nox

    可以通過apt list --installed|grep vim查看已經安裝的vim版本

    安裝:

    sudo apt update
    sudo apt install vim-gtk3
    

    手工編譯安裝,至少加上Python 支持和圖形界面的支持:

    ./configure --enable-pythoninterp \--enable-python3inerp \--enable-gui=auto      #auto可以根據需要換成gtk3等其他數值
    make -j
    sudo make install
    

    安裝成功之后,通過vim --version能夠看到一個python版本的支持。

1.2 MacOs的安裝

直接使用homebrew進行安裝
brew install vim
brew install macvim

參考homebrew進行mac下的homebrew的安裝

1.3 Windows的安裝

通過網址https://www.vim.org/download.php#pc下載windows版本的vim.exe,windows下的vim版本還是以32位為主,基本也滿足正常的開發需求了。
安裝過程中進入如下界面:

需要注意如下幾個選項:

  • “安裝批處理文件 (Create .bat files)” 對于使用Vim命令行的開發者來說是剛需,所以需要選擇
  • “創建圖標 (Create icons for vim)” 根據個人選擇展開
  • “創建默認配置文件” 去掉這一項,可以通過后面會說到的方式創建配置文件
  • “安裝多語言支持” 使得vim的菜單可以支持多語言選項

點擊下一步,修改安裝的文件目錄,安裝完成即可。
這個時候會打開一個默認的README文件,輸入:e \_vimrc,輸入如下內容:

set enc=utf-8
set nocompatiable
source $VIMRUNTIME/vimrc_example.vim

ZZ 退出即可

這里說一下windows和linux下vim的區別

  • windos下vim配置文件是_vimrc,unix下一般默認~/.vimrc
  • windos下打開的vim文件都成為了_ 開頭,如_viminfo
  • 打.開頭的vim配置目錄.vim,也變成了vimfiles

同時windos下vim的插件安裝也是比較費勁的,其實希望成為vim"之神"的同學應該以類unix環境為主,至少一個虛擬機下安裝ubuntu鏡像也并不會消耗太多的時間。

1.4 vim中文幫助文檔安裝

英文版的教程,使用 終端下直接輸入 vimtutor 即可看到,同時一些網友也翻譯了中文版本的vim幫助文檔,這個安裝在vim8中也是非常簡單的。
以類unix環境為例(windows下需要將.vim 改為vimfiles目錄),執行如下命令:

cd ~/.vim
mkdir -p pack/my/start/
git clone https://github.com/yianwillis/vimcdoc.git pack/my/start
cd pack/my/start
./vimdoc.sh -i #安裝help.txt的中文幫助文檔
./vimdoc.sh -u # 如果不想要中文版的help信息,則可以卸載掉

進入vim,輸入:help 之后可以有如下的效果:

一般類unix操作系統,可以通過LANG=zh_CN.UTF-8 vimtutor 來進入一個中文版本的vim教程

PS:因為vim使用ctrl鍵會比較多,建議大家學習的時候將ctrl映射到之前的CAPS(mac下),或者windows CapsLock下

2. vim基本概念和基礎命令

2.1 基本的鍵位映射如下:


建議大家在看完之前的vim 教程之后在來熟悉這一塊,保證上面的基本命令都已經很熟悉了。
以上圖沒有說明vim的命令行命令

  • :q! – 不保存退出
  • :wq– 保存退出
  • :s – 替換
  • :! – 執行外部unix命令
  • :edit – 一般縮寫為:e,編輯文件
  • :w – 寫入指定文件
  • :r – 讀文件
  • :help 查看幫助信息
  • 使用Ctrl + DTab鍵將命令補全

2.2 vim模式

  • 正常模式(普通模式):缺省的編輯模式,如果不加特殊說明,一般提到的特殊命令都直接在正常模式下輸入;任何其他模式都可以通過鍵盤上輸入ESC回到普通模式
  • 插入(insert) 模式:輸入文本時使用,普通模式下鍵入i(insert)或則a(append)即可進入插入模式
  • 可視(visual)模式:用于選定文本塊,可以使用v鍵來按字符選擇,vim中也提供了按行和塊進行選擇的方法
  • 命令行(command-line)模式: 用于執行較長,較復雜的命令。普通模式鍵入: 即可進入該模式。 使用/或者?開始搜索也算作命令行模式。命令行模式下需要輸入回車才算完成。

再次強調,只要按下ESC,無論在哪個模式下,都會回到普通模式。
這里再次說明以下,可以利用好vim命令行下的help幫助文檔,能夠提供非常方便的幫助操作。

2.3 vim的選項和基本配置

隨著持續不斷得使用vim,它的配置會不斷得增加,從而應對自己在不同場景的需求。
接下來看看一些基本的vim配置,之前說過unix系統下的vim配置是.vimrc文件,windows的配置則是_vimrc文件

set enc=utf-8
set nocompatiable
source $VIMRUNTIME/vimrc_example.vim

如之前的一段類似于shell 腳本的 配置如上,三行的基本含義如下:

  • 設置編輯文件的編碼格式為utf-8
  • 設置Vim和vi不兼容
  • 倒入vim的配置示例(示例中包括一些有用的選項:語法高亮,搜索高亮,命令歷史等等)

2.3.1 備份和跨會話撤銷文件

vim支持跨會話的編輯能力,這個在目前的編輯器中還沒有其他的能夠做到的。舉個例子,編輯完word,將word關閉,再重新打開,想要做到撤銷上一次的操作,或者恢復到之前n次操作,這個不可能的,vim能夠支持這樣的功能。

基本配置如下兩個:

set backup
set undofile
  • 第一個選項使得我們的每一次編輯都能夠保留上一次的備份文件
  • 第二個選項使得vim重新打開一個文件時仍然能夠撤銷之前的編輯(undo),還會保留一個編輯歷史的文件(undofile)

這個時候當前目錄下會出現針對編輯后文件的些~結尾的備份文件和.開頭的undo文件

這里通常只保留撤銷文件的功能,有了跨會話撤銷的能力,基本備份的功能就用不到了,將撤銷的文件放在個人用戶目錄下,保證文件的安全和目錄的干凈。

set nobackup
set undodir=~/.vim/undodirset undodir=~\vimfiles\undodir "windos下的形態,目錄符合和unix有差異

為了保證目錄存在,可以再增加如下判斷:

if !isdirectory(&undodir)call mkdir(&undodir, 'p' , 0700) 
endif

&undodir是之前設置的undodir值,mkdir括號內部指定mkdir的命令選項 和 目錄權限

2.3.2 vim中支持鼠標

我們正常使用vim的過程中,看代碼肯定比寫代碼要多, 所以這個時候鼠標還是比較有必要存在的。而且鼠標在非線性跳轉上比鍵盤快很多。

我們在vim中對鼠標的需求是:

  • vim內部使用鼠標通過可視模式(visual)選擇內容,且僅在vim內部使用
  • 通過將vim內部的可視模式選擇的文本和外部操作系統進行編輯交互(在vim內部鼠標選擇后復制,粘貼到外部系統軟件之中)

所以針對以上兩種的使用需求,vim都需要能夠支持:

if has('mouse')if has('gui_running') || (&term =~ 'xterm' && !has('mac'))set mouse=aelseset mouse=nviendif
endif

3. vim 常用命令 – 應對稍復雜任務

3.1 光標移動

  1. 基本移動 :上、下、左、右 – k,j,h,l; 缺陷是這四個鍵不能在插入模式下移動

  2. 跳轉行首:0, 跳轉行尾: $, 跳轉到行首到第一個非空白字符: ^

  3. 一次移動超過一個字符: b/w, B/W
    以上含義分別是:words backward, words forward,用來向后或者向前跳轉一個單詞。大寫跳轉和小寫跳轉的唯一區別就是小寫和編程語言的標識符類似,認為一個單詞的組成是由字母,數字和下劃線組成;而大寫則認為非空格字符都是單詞。

  4. 根據單個字符進行選擇:f/t, F/T
    以上含義是:找到下一個緊接著輸入的字符(如果輸入f/t,F/T之前加上數字n,那就是下面第n個),比如找到當前行的第二個d字符,輸入f2d即可。兩者的區別是f會包含這個字符,t不包含這個字符。大寫的F/T則是進行反方向的搜索。

    比如下面字符串*nc = (struct mg_connection *) data; ,光標在括號內的第一個字符s的位置,我想一次刪除括號內所有內容,如果不用f/t的話需要仔細考慮w的匹配規則,最后使用c3w,而現在我們只需要使用ct)直接匹配)就可以。

  5. 文章內移動:() 分別是移動到上一句和下一句;{}分別是移動到上一段和下一段

  6. 開頭和結尾跳轉:ctrl - Homectrl - End 跳轉到文件的開頭和結尾;ggG 也是分別跳轉到文件到開頭和結尾。
    只不過G這里的區別是跳轉到最后一行的第一個字符,不是最后一個字符

3.2 文本修改

Vim的基本教程中我們知道c(change),d(delete),i(insert)都能夠對文本進行修改,vim的原則是常用的功能要盡可能按鍵少。因此很多常用的功能在vim中都會有不同的按鍵,而且大寫鍵也會相應得重載相近但稍不同的含義(最后一個字符的包含與不包含這樣的區別)。

  1. d 加動作進行刪除: dd刪除整行,D相當于d$刪除到行尾
  2. c 加動作進行修改: cc修改整行,C相當于c$刪除到行尾并進行插入
  3. s 相當于cl,向右刪除一個字符并進入插入模式,S相當于cc,替換整行
  4. i 在當前字符前進入插入模式;I則相當于^i把光標移動到行首非空白字符,進入插入模式
  5. a 在當前光標所在字符后面進入插入模式,A相當于$a,把光標移動到末尾,然后進入插入模式
  6. o 在當前行下方插入一個新行,然后在新行進入插入模式;O在當前行上方插入一個新行,并進入插入模式
  7. r 替換光標下的字符; R進入替換模式,每次按鍵替換一個字符,直到按下ESC退出替換模式
  8. u 撤銷最近的一個動作;U 撤銷當前行的所有修改

這一些按鍵基本能夠讓大部分的編輯任務在一兩個按鍵就能完成,不過需要長期練習,形成肌肉記憶 。

3.3 文本對象選擇

這個功能非常適合程序中的邏輯塊編輯,方便我們在一般模式下對程序代碼或者文件進行隨意自如的修改。
基礎鍵的命令c,,d 是用來對文本內容進行修改,而像a,i,w 這樣的能鍵能夠附加到基礎操作命令之后,對一段文本進行快速修改操作。

針對文本"coding boy = z_stand" 的修改利用如上鍵可以有如下組合策略。假設光標停在coding 的d上

  1. dw delete word, 刪除ding,結果是"co boy = z_stand"
  2. diw delete inside word, 刪除coding,結果是" boy = z_stand"
  3. daw delete a word,刪除coding, 還有一個空格。 結果是"boy = z_stand"
  4. diW 刪除"coding ,結果是boy = z_stand"
  5. daA 刪除"coding 還有一個空格。結果是boy = z_stand"
  6. di" 刪除coding boy = z_stand 結果是""
  7. da" 刪除"coding boy = z_stand" ,字符串包括雙引號被全部刪除
    這個操作后面加"或者其他的字符,比如(,則會刪除與其匹配的)內部所有的內容

以上介紹的是d操作,同樣的基礎鍵還可以用c進行,只不過d是執行完成刪除操作之后vim還是一般模式,而c是執行了之后進入插入模式。
同時像如下的幾個鍵也能夠支持文本對象的選擇,可以像dc一樣搭配a,i,w,單引號,雙引號,左右括號等

  • 搭配s(sentence)對句子進行操作 – 適合英文文本編輯
  • 搭配p(paragraph) 對段落進行操作 – 適合英文文本編輯,以及帶空行的代碼編輯
  • 搭配t(tag) 對HTML/XML 標簽進行操作 – 適合HTML, XML等代碼編輯
  • 搭配`和’,對shell或者python等腳本代碼進行操作
  • 搭配[] 方括號,對括號里面的內容進行操作
  • 搭配{} 大括號,對括號內容進行操作 – 適合C/C++語言
  • 搭配<> 角括號 – 適合C++ 模版操作

再進一步,在ai之前能夠增加數字,表示操作多少個文本對象,適合針對嵌套文本的操作
比如

3.4 文本移動 – 更快

  • <C-B> 向上翻頁
  • <C-F> 向下翻頁
  • <C-U> 向上翻半頁
  • <C-D> 向下翻半頁
  • 5G 跳轉到第五行
  • 6l 跳轉到第六列
  • HM, L 當前屏幕下,分別移動光標到屏幕頂部,中間,底部
  • <C-Y><C-E> 保持光標不動,滾動屏幕,ctrl-y向上,ctrl-e向下
  • zt 將光標所在行滾動到屏幕頂部,zz將光標所在行滾動到屏幕中部,zb將光標所在行滾動到屏幕底部

3.5 重復操作

  • ; 重復最近的字符查找 f或者t操作
  • , 重復最近的字符查找, 反方向
  • n 重復最近的字符串查找操作(/和? 查找模式)
  • N 重復最近的字符串查找操作(/和?)反方向查找
  • . 重復執行最近的修改操作

4. vim 的簡單定制

通過對vim目錄,配置文件,擴展包管理器的一些介紹來讓大家能夠初步配置自己的vim

4.1 vim 的目錄結構

vim的工作環境是通過運行支持的vim插件來設定的,合理得定制自己的vim需要了解vim的目錄構造,知道怎么快捷得找到這一些存放插件的位置。
在vim8.2版本下,不同平臺安裝vim的位置有差異:

  • unix 下面 /usr/share/vim/vim82
  • mac下的MacVim 運行時軟件位置 /Applications/MacVim.app/Contents/Resources/vim/runtime
    能夠看到很多子目錄,如autoloadcolorsdoc

    最常用的是如下幾個目錄:
  • syntax vim 的語法加亮文件
  • doc vim 的幫助文件
  • colors vim 主題配色方案
  • plugin vim的插件文件

syntax目錄 為例,MacVim支持619種語法高亮格式,.vim之前的內容就是支持的語言語法。
在一般模式下可以通過:setfiletype cpp來指定cpp文件的語法高亮。

同時一般模式下輸入:help顯示的幫助信息都在doc目錄之下;通過:colorscheme 加tab鍵能夠看到很多種不同的配色主題,這一些主題配色都會在color目錄之下。
可以在.vimrc配置中加入一行 color desert ,指定每次啟動vim加載的配色方案

接下來重點看一插件plugin目錄,能夠在原生vim下支持無數便捷的插件接入,這也是為什么vim被成為編輯器之神的原因。像我們在clion,vscode,sublime中體驗到的便捷特性(代碼補全,源碼閱讀時的跳轉,代碼調試等)都能夠在vim中通過插件得到配置,而且我們能夠將快捷鍵通過vim script的map減少來進一步加快編輯操作,以上是一些可以擴展的插件,而plugin目錄下的插件則是系統內置的插件,分別具有如下功能:

  • getscriptPlugin.vim 獲得最新的vim腳本插件
  • gzip.vim 編輯.gz結尾的壓縮文件,打開時能夠自動解壓縮,保存為.gz結尾的文件時自動壓縮
  • logiPat.vim 模式匹配的邏輯運算符,允許以非標準正則表達式來寫模式匹配
  • manpager 使用vim來查看man幫助文檔
  • matchparen.vim 對括號進行高亮匹配
  • netrwPlugin.vim 從網絡上編輯文件和瀏覽目錄(支持多種協議如ftp和scp,可以直接打開目錄來選擇文件)
  • rrhelper.vim 支持--remote-wait 編輯,vim的多服務器會用到這一個功能
  • spellfile.vim 在拼寫文件缺失時自動下載,vim一般只安裝了英文的拼寫軟件
  • tarPlugin.vim 支持編輯(壓縮).tar結尾的壓縮文件,這里和.gz不同的是不支持寫入
  • tohtml.vim 把語法加亮的結果轉成html
  • vimballPlugin.vim 創建和解壓.vba文件
  • zipPlugin.vim.gz類似,支持讀和寫 .zip結尾的壓縮文件

這幾個簡單的默認配置插件已經能夠體現出了一部分vim的強大之處,簡單演示部分插件功能如下:

4.2 vim 軟件包

vim 的目錄有點傳統的unix格式,一個功能(插件plugin)會分散在多個不同的目錄下

  • 插件的主題通常會在plugin目錄下
  • 插件的幫助文檔會在doc目錄下
  • 有一些插件只對某一些文件類型有效,會有文件放在ftplugin目錄下
  • 有一些插件會有自己的文件類型檢測規則,會有文件放在ftdetect目錄下
  • 有一些插件有特殊的語法加亮,會有文件放在sytax目錄下

我再mac上是使用vim-plug作為自己的包管理器,其他的vandle或者minpac都是可以的。

  • 下載:

    curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
    
  • 使用 plug對插件進行管理
    安裝上vim-plug之后就可以在vim的配置文件中增加自己想要的插件,mac下的vim配置在~/.vimrc,windows可以通過打開vim輸入:e \_vimrc 打開自己的vim配置文件。

    插件的安裝設置需要遵循如下語法,在plug#beginplug#end之間就是我們要安裝的插件,具體的插件需要通過Plug + 插件名稱來指定安裝的插件:

    這里需要注意的是闊行內的內容是插件下載之后的存放目錄,可以自己指定,也可以按照下文中的目錄存放。

    call plug#begin('~/.vim/plugged') 
    Plug 'mzlogin/vim-markdown-toc', { 'for': ['gitignore', 'markdown', 'vim-plug'] }
    Plug 'vimwiki/vimwiki'
    Plug 'terryma/vim-multiple-cursors'
    Plug 'junegunn/goyo.vim' " distraction free writing mode
    call plug#end()
    

    然后再保存配置文件,在vim中輸入:PlugInstall命令就可以直接安裝對應的插件了

    當然,還可以直接對插件進行更新,或者清理不需要的插件,這一些命令可以通過:Plug按tab鍵自動補全。整個vim的插件管理就變得非常方便了。

5. vim 的復制與粘貼

對于命令行形式的vim,想要將外界復制的內容粘貼到 vim 的文本之中,需要有如下幾步:

  • 使用 vim 打開一個文件,進入 vim 的一般模式下
  • 通過一般模式的 跳轉命令,將光標移動到需要粘貼的行以及列處
  • 輸入i或者a等插入命令進入vim的插入模式
  • 通過鍵盤<ctrl-c>,粘貼到當前位置
  • ESC回到一般模式,ZZ存盤退出

如果不退出vim的話則還需要通過如下兩步

  • 打開vim進入一般模式,通過:e file打開一個文件;可以使用<C-D>查看有哪一些文件,通過tab選擇文件并自動補全
  • 存盤則通過: :w

但是如果粘貼內容含有縮進,而vim又不夠新的情況,還會出現縮進之間在“打架”的情況,導致整個復制縮進一直基于上一個縮進的基礎上在縮進。這個情況是因為vim分不清用戶是在輸入,還是在粘貼,輸入此時會和粘貼沖突,則會有智能縮進、制表符轉換等功能。
這個可以通過 :set paste 命令來讓vim知道當前文件執行的是粘貼的命令,從而不會被智能縮進和制表符轉換的功能影響。

6. vim的模式匹配:正則表達式

6.1 基本的特殊字符

我們在vim的一般模式中經常需要用到模式匹配或者查找命令,通過/,?或者進入vim的命令模式: 進行匹配操作。
vim中的正則表達式和其他常用正則表達式是有一些區別的,這里先簡單介紹一下vim中的一些正則表達式的基礎,在一個搜索表達式里面有如下字符,., [],*, $,^, ~, \ 都是具有特殊含義的字符

  • . 可以匹配除換行符外的任何字符,如a.可以匹配 aa, ab
  • * 表示之前的匹配源可以重復0次到多次,比如aa*可以匹配a, aa, aaa等, a.*可以匹配a, ababc等,但是兩者都不能匹配b
  • ^匹配一行等開頭,如果出現在模式的開頭的話;如果在模式的其他位置,則表示字符本身
  • $ 匹配一行的結尾,如果出現在模式的結尾的話;在其他位置則表示字符本身
  • ~ 匹配上一次替換的字符,如果上一次把abc替換為了ate,那么~就匹配ate
  • [...] 匹配方括號內任意一個字符;方括號內如果第一個字符是^,表示對結果取反;除開頭之外的-表示范圍:如[A-Za-z]表示任意一個拉丁字母,[^+-*/]表示除了 +,-,*,/ 之外的任意一個字符。
  • \ 的含義取決于下一個字符,在大部分情況下包括上面的這幾個(., [,],*, $,^, ~, \ ) ,代表后面這個字符本身;在跟某一些字符時有特殊含義。

除此之外就是普通的字符,并沒有特別的含義;需要注意的是如果想要將搜索字符/作為普通字符來使用,則需要\/ 這樣,否則vim看到的/就會以為模式結束了,導致錯誤發生。

如果模式中使用"/"作為路徑的分隔符,在替換命令中可以使用使用其他模式中沒有的符號作為分隔符。比如想把路徑/path/
全部替換為/paths/ ,建議不要用:%s/\/path\//\/paths\//g ,這種樣子非常容易出錯。而應該使用類似的寫法:%s!/path/!/paths/!g,當然這個只能用于替換命令。如果想要使用/作為搜索命令的話就沒有太好的辦法了,只能使用\/這樣的形態。

6.2 特殊模式項

通過\開始的特殊表達式很多,如果我們想要全部了解的話可以通過help pattern-overview來詳細查看,這里僅僅列舉幾個基本的特殊模式項:

  • \? 表示之前的匹配重復零次 或一次: 如aa\? 可以匹配"a", “aa”, 但不能完整匹配"aaa"(可以匹配前兩個字符,后兩個或最后一個字符)
  • \+ 表示之前的匹配原重復一次或多次:如aa\+ 可以匹配"aa",“aaa”, 但不能匹配"a"或"b"
  • \{n,m} 表示之前的匹配原重復n到m遍之間。如:a\{3} 可以匹配3個"a":“aaa”; a\{,3} 表示最多匹配3個"a", 支持匹配"", “a”, “aa"和"aaa”;大括號內兩個數字都省略時等價于*, 也就是之前的內容可以匹配0次或多次。
  • \(\) 擴起一個模式, 從而組成單個匹配原:如\(foo\)\? 可以表示單詞foo出現零次或一次。
  • \& 是分支內多個臨接的分隔符,類似于“與”操作,表示每一項都要匹配成功,然后去最后一項的返回結果:如.*foo.*\&.*bar.* 匹配同時出現foo和bar的完整行。
  • \| 是多個分支的分隔符,類似于“或”的匹配,表示任意一項匹配成功即可:如foo\|bar可匹配foobar兩個單詞之一。

還有13個特殊模式項:

  • \< 匹配單詞的開頭
  • \> 匹配單詞的結尾
  • \s 匹配空白字符
  • \S 匹配非空白字符
  • \d匹配數字,相當于[0-9]
  • \D 匹配非數字,相當于[^0-9]
  • \x 匹配十六進制數字,相當于[0-9A-Fa-f]
  • \w 匹配單詞字符,相當于[^0-9A-Za-z_]
  • W 匹配非單詞字符
  • \h 單詞首字符: [A-Za-z_]
  • \H 非單詞首字符: [^A-Za-z_]
  • \a 英文字母字符: [A-Za-z]
  • \A 非英文字母字符: [^A-Za-z]
  • \l 小寫字符: [a-z]
  • \L 非小寫字符: [^a-z]
  • \u 大寫字符: [A-Z]
  • \U 非大寫字符 [^A-Z]
  • \_ 其中 x 可以是以上任意一個字符: 對應字符類加上換行

6.3 一些搜索舉例

  1. 想要準確匹配一個函數名:/ \<function_name\>

    或者將光標移動到想要匹配的關鍵字上面,按下*,vim就會自動提取光標下的關鍵字,并自動添加\<\>進行搜索。

  2. 如上代碼片段,我想要搜索ReoportError或者void,那么就想到了上面特殊模式中斷\|字符

    輸入 /\<ReportError\>\|\<void\>即可

6.3.1 最長匹配和最短匹配

這里有一個問題就是我們想要搜索的內容中有很多特殊字符,整個模式會變得極其復雜。
而像*,\?,\+\{}都屬于最長匹配(貪婪匹配),即模式 既可以匹配一個較長的字符串,也可以匹配一個較短的字符串的時候結果會是那個比較長的字符串。

相應的也會有一個最短匹配,同時匹配較長和較短字符是會產生較短匹配。在vim里面,最短匹配只有一種形式,{-n,m},起意義和之前說得{n,m}相同( \{n,m} 表示之前的匹配原重復n到m遍之間),但結果是較短而非較長的字符串。

以HTML 標簽匹配為例,使用最短匹配的話,可以把模式寫成/<.\{-1,}>,表示要求模式匹配的結果在一對尖括號里面且至少有一個字符,但越短越好。

6.3.2 搜索加亮和取消

如果也有在做上面但實驗,會發現vim在搜索的過程中默認會將模式匹配的內容高亮,這個對確認自己的搜索結果是否正確非常重要。

但是如果你是用了非原生vim,比如某一個IDE的插件,那么就會發現并不是默認高亮。
而有的時候又覺得高亮太刺眼,想要去掉,這個時候vim就提供了比較方便的指令:nohlsearch或者:nohls
想要恢復高亮,則可以:set hlsearch或者:set hls

如果這兩個取消和恢復高亮的指令使用非常頻繁,則可以設置map鍵
noremap <LEADER><CR> :nohlsearch<CR> 我這里設置的是直接按LEADER鍵,我的LEADER鍵設置的是let mapleader=" "空格

6.3.3 正則表達式替換

替換我們正常理解就是利用之前提到的一些模式匹配特殊字符來完成,將一個字符串替換為另一個字符串。但是很多替換場景還是非常復雜的。

  • 可能要保留匹配中的某一些字符,而替換另外一些字符
  • 要對匹配出來的內容做大小寫轉換
  • 可能需要 “計算” 出替換結果
  • 可能要決定一行里面替換單次還是多次,是自動替換還是要 – 確認 ,等等。

接下來看看具體的操作

  1. 在替換結果中保留匹配出的字符
    之前我們說到\(\)特殊模式 除了將一個模式轉變成匹配原之外,還有一個捕捉匹配的內容的作用。
    按照\(的出現順序依次編號為1到9,并可以在模式和替換字符串中用\1\9 來訪問。如果要在替換字符串中完整使用匹配內容的話,則可以使用\0&(字符 “&” 也因此要在替換字符串中寫成\&)

    如果我想要找出作為函數調用的WebSocket ,那我可以寫成\<WebSocket( ,雖然 (不是想要匹配的內容,但它是函數名稱的一部分。從替換的角度來看需要多處理一下這個字符;在非匹配的內容比較復雜或者變化的時候,這個過程尤為麻煩。
    所以vim 里還有專門匹配開始和結束的匹配原,分別是\zs\ze

    對于上面函數調用的這個例子,搜索模式就應該是\<WebSocket\ze(,當然這個模式也可以匹配為\<WebSocket(\&WebSocket或者\<WebSocket(\&...

  2. 大小寫轉換的特殊替換字符串
    \U 把下面的字符串轉變成大寫,直到\E出現
    \u 把下一個字符變成大寫
    \L 把下面的字符變成小寫,直到\E出現
    \l 把下一個字符變成小寫
    \E 結束大小寫轉換
    \= 開始一個返回字符串的表達式,用來計算出一個替換的結果

    和其他的編程語言一樣,vim的正則表達式中支持\t\r\n等特殊轉義字符,但在替換表達式中,\n插入的是空字符(NULL\0),而非在模式中正常的行尾符LF。如果想要插入行尾符的話我們需要使用\r。這意味著把一個回車變成兩個,需要通過:s/\n/\r\r/ 這樣尷尬的方式來實現。
    如果我們要插入CR(回車)的話,需要輸入\<C-V><CR>才行。

6.3.4 替換實例

  • 刪除行尾注釋
    :%s!\s*//.*$!!
    把零到多個空白字符后面出現的"//" 直到行尾全部刪除, ! 這個表示分隔符,是為了簡化模式,否則就需要通過\/來不斷轉義

  • 刪除/**/ 注釋
    這個實現就非常復雜了,首先匹配內容可以跨行;其次,有跟HTML標簽類似的問題(注釋內部可能有多個/**/ ),需要使用最短匹配。
    通過如下來實現
    :%s!/\*\_.\{-}\*/!!g

    因為一行中可能有多個/**/,結尾通過g表示允許一行內部持續多次替換。

后續會持續分享vim的更高級操作,包括鍵盤宏,vim的插件,以及如何編寫vim script來讓自己的指尖 有效得 飛得更快。

總結

以上是生活随笔為你收集整理的vim 成“神“之路 (一)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

一区二区三区观看 | 国产在线看 | 亚洲精品88欧美一区二区 | 久久久影片 | 久久精品精品电影网 | 美女精品| 奇米四色影狠狠爱7777 | 97超碰总站 | 亚洲成av | 精品久久亚洲 | 欧美久久久久久久久中文字幕 | www色| 在线免费观看视频一区 | 亚洲激情一区二区三区 | 91桃色在线观看视频 | 久久精品最新 | 国产第一页在线观看 | 麻豆精品视频在线观看免费 | 亚洲六月丁香色婷婷综合久久 | 久久看视频 | 在线免费观看黄色av | 97狠狠操 | 美女黄频视频大全 | 欧美在线视频第一页 | 国产成人一区二区三区在线观看 | 国产1区在线观看 | 1000部国产精品成人观看 | 午夜12点| 久久综合狠狠 | 欧美人体xx | 波多野结衣精品在线 | 92av视频 | 日日夜夜免费精品 | 中文免费 | 91免费高清在线观看 | 亚洲视频精选 | 免费在线观看黄网站 | 人人澡人摸人人添学生av | 免费av免费观看 | 欧美日韩精品综合 | 国产精品2018 | 在线播放日韩av | 五月天婷婷综合 | 91精品国产99久久久久 | 亚洲视频电影在线 | 天天操天天操天天操天天操天天操 | 国产精品精 | 天天操天天干天天玩 | 一区久久久 | 4hu视频| av免费在线免费观看 | 香蕉网在线观看 | 久久久国产高清 | 99久久久久久国产精品 | 欧美激情视频在线观看免费 | 国产精品亚洲精品 | 人人狠狠综合久久亚洲 | 国产黄色看片 | 日本中出在线观看 | 日韩视频一区二区在线 | 日韩av一区二区三区在线观看 | 日韩免费视频网站 | 亚洲精品久久久久久中文传媒 | 91在线视频导航 | 久久精品一区二区三区视频 | 成人免费网视频 | 麻豆久久久久久久 | 国产精品麻| 中文字幕电影高清在线观看 | www九九热 | 国产九九精品 | 国产精品久久视频 | 国产在线永久 | 少妇bbbb搡bbbb桶 | 免费av电影网站 | 久久精品国产一区二区三区 | 国产精品精品视频 | 亚洲黄色av | 在线免费视频一区 | 中文字幕一区二区三区久久 | 欧美一区日韩一区 | 久久久久国产精品免费网站 | 国产视频2区 | 久久精品99久久久久久 | 欧美日韩大片在线观看 | 久久精品综合网 | 91在线看黄 | 久久歪歪 | 91免费观看视频在线 | 成人黄色影片在线 | 国产高清在线不卡 | 一级黄色片在线 | av高清在线观看 | a午夜电影| 在线免费看黄网站 | 日韩精品一区二区在线 | 亚洲国产经典视频 | 欧美专区国产专区 | 久久久久久久久影视 | 国产在线观看二区 | 国产精品美女久久久久aⅴ 干干夜夜 | 成人a级免费视频 | 在线观看视频在线 | 成人一区影院 | 久久草av| 91麻豆精品国产91久久久无需广告 | 国产中年夫妇高潮精品视频 | 51精品国自产在线 | 中文字幕一区二区三区四区视频 | av网站在线观看免费 | 久久香蕉国产精品麻豆粉嫩av | 天天操天天干天天干 | 97超碰在线免费观看 | 成人三级视频 | 国产69久久久欧美一级 | 九九久久电影 | 国产精品女人久久久 | 亚洲乱亚洲乱妇 | av黄网站| 久草久草在线观看 | av高清网站在线观看 | 伊人婷婷在线 | 国产欧美三级 | 久久久久亚洲精品国产 | 欧美日韩国产欧美 | 国内精品久久久久久中文字幕 | 成人在线观看日韩 | 婷婷色资源 | 亚洲电影网站 | 国产精品1区2区在线观看 | 97在线观看免费高清完整版在线观看 | 亚洲涩涩涩涩涩涩 | 国产成人a亚洲精品 | 亚洲精品美女在线观看播放 | 中文字幕在线色 | 天天干天天摸天天操 | 午夜av不卡 | 在线看黄网站 | 五月婷婷黄色网 | 精品久久久久久国产91 | 国产精品一区二区免费看 | 国产精品一区二区av | 国产啊v在线 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 免费在线观看午夜视频 | 欧美 高跟鞋交 xxxxhd | 日韩成人精品一区二区三区 | 日韩三级av| 在线观看 国产 | 激情五月综合网 | 国产v在线 | 国产在线视频资源 | 波多野结衣视频一区二区三区 | 在线观看岛国片 | 黄色在线看网站 | 五月天com | 免费成人在线观看视频 | 国产麻豆果冻传媒在线观看 | 天天干 夜夜操 | 国产精品久久久精品 | 国产一区二区影院 | 日日干综合 | 免费观看黄色12片一级视频 | 特级西西444www大精品视频免费看 | 93久久精品日日躁夜夜躁欧美 | 婷婷久久久久 | 黄色av一区二区 | 99久久精品日本一区二区免费 | 亚洲黄色成人网 | a级国产乱理论片在线观看 特级毛片在线观看 | 精品视频不卡 | 最新动作电影 | 99久久婷婷国产 | 中文字幕网站视频在线 | 欧美性超爽 | 国产成人av福利 | 91在线视频导航 | www.福利| 免费高清男女打扑克视频 | 爱色av.com| 久久久www成人免费精品张筱雨 | av免费看在线 | 国产高清精品在线 | 免费久久精品视频 | 夜色资源站国产www在线视频 | 久久久免费在线观看 | 国产一区二区精品91 | 天天色天| 亚洲最新在线 | 中国一级片在线观看 | 欧美a视频在线观看 | 亚洲免费精品一区二区 | 久久精品草 | 日韩在线观看中文字幕 | 91精品国产成人观看 | 三级黄色网址 | 精品欧美小视频在线观看 | 在线视频久| 日本精品久久久久 | 国产中文字幕一区二区 | 免费成人在线视频网站 | 久精品视频免费观看2 | 中文字幕中文字幕在线中文字幕三区 | 国产免费作爱视频 | wwwav视频| 国产视频二区三区 | 欧美一性一交一乱 | 午夜精品av在线 | 国产毛片久久 | 欧美日韩一区二区在线观看 | 久久久穴| www.久久久com | 激情网婷婷 | 免费av网站观看 | 9999在线观看| 精品一区精品二区高清 | av在线不卡观看 | 精品久久久一区二区 | 91麻豆精品91久久久久同性 | 国产日本高清 | 久久久久久久久久福利 | 9在线观看免费高清完整版 玖玖爱免费视频 | 日韩在线视频精品 | 久久五月婷婷丁香 | 日韩系列在线观看 | 午夜国产福利视频 | 美女黄濒 | 午夜色性片 | 亚洲国产欧美在线人成大黄瓜 | 伊人手机在线 | 夜夜操狠狠操 | 亚洲aⅴ乱码精品成人区 | 久久免费视频国产 | 日韩精品一区二区三区在线播放 | 波多野结衣久久资源 | 97视频资源 | 911在线| 国产一级黄大片 | 国产成人一区二区三区 | 免费看黄色小说的网站 | 狠狠躁夜夜躁人人爽超碰91 | 99热精品视| 黄色a级片在线观看 | 中文字幕成人 | 久久成年人网站 | 亚洲免费视频观看 | 欧美激情视频一二三区 | 国内精品久久久久久 | 在线观看免费 | 国产精品wwwwww | 91精品国产91| 黄污视频大全 | 国产一区二区不卡视频 | 女人18毛片90分钟 | 免费看的黄色 | 天天爽夜夜爽精品视频婷婷 | 国产高清在线一区 | 在线播放国产一区二区三区 | 在线看片视频 | 国产精品theporn | 免费69视频 | 精品产品国产在线不卡 | 免费 在线 中文 日本 | 久热这里有精品 | 96av在线| 经典三级一区 | 亚洲最新视频在线 | 综合网天天射 | 国产精品大全 | 欧美xxxxx在线视频 | 国产精品1区 | 国产精品成人国产乱 | 91精品国产欧美一区二区成人 | 亚洲精品大片www | 久久精品国产精品亚洲 | 国产精品女人久久久 | 美女免费黄视频网站 | 免费黄色网址大全 | 粉嫩aⅴ一区二区三区 | 欧美成人免费在线 | 在线免费观看麻豆视频 | 一 级 黄 色 片免费看的 | 中文字幕av网站 | 在线观看的av网站 | 成人香蕉视频 | 久久精彩免费视频 | 婷婷丁香五 | 日本久久成人 | 久久精品一级片 | 深夜免费小视频 | 免费在线观看av网站 | 亚洲黄色小说网 | 在线免费亚洲 | 啪啪激情网 | 日韩欧美一区二区不卡 | 色妞色视频一区二区三区四区 | 免费观看国产成人 | 91桃色免费视频 | 99人成在线观看视频 | 2022中文字幕在线观看 | a黄色影院| 在线观看视频日韩 | 在线免费观看视频你懂的 | 色综合久久久久久中文网 | 最新国产精品拍自在线播放 | 超碰在线观看97 | 五月激情丁香图片 | 中文字幕黄色av | 日日摸日日 | 国产一级大片在线观看 | 久久99久久99精品免观看软件 | 中国精品一区二区 | 久久字幕网 | 亚洲国产精品资源 | 国产一级特黄毛片在线毛片 | 成人免费视频播放 | 久久不色 | 国产精品久久久久久电影 | 亚洲综合在线五月天 | 国产va在线 | 69亚洲视频 | 日本中文字幕高清 | 久久无码精品一区二区三区 | 日韩手机在线观看 | 久久视影| 久久视频精品在线观看 | 天天色天天射天天干 | 91中文字幕网 | 亚洲国产字幕 | 日韩在线小视频 | 97人人澡人人添人人爽超碰 | 欧美一级淫片videoshd | 国产亚洲精品xxoo | 热re99久久精品国产99热 | 9色在线视频 | 成人毛片a| 一本一道久久a久久精品蜜桃 | 精品 一区 在线 | 97国产大学生情侣白嫩酒店 | 亚洲涩涩一区 | 日韩成人欧美 | 精品亚洲视频在线观看 | 超碰在线公开 | 在线观看国产区 | 色偷偷网站视频 | 岛国大片免费视频 | 探花视频在线版播放免费观看 | 国产黄影院色大全免费 | 精品一区二三区 | 日韩欧美精品一区 | 毛片在线网 | 蜜桃av综合网 | 在线观看视频一区二区三区 | 97超碰人人模人人人爽人人爱 | 久久狠狠一本精品综合网 | 国产高清日韩欧美 | 久久国产免费视频 | 国产成人区 | 久久天天躁夜夜躁狠狠85麻豆 | 久草精品视频 | 国产日韩精品一区二区 | 免费观看国产精品 | 日韩欧美v| 摸阴视频 | 欧美福利久久 | 国产热re99久久6国产精品 | 狠狠色香婷婷久久亚洲精品 | 伊人天天综合 | www在线免费观看 | 丁香婷婷久久 | 久久精品99视频 | 91成人精品国产刺激国语对白 | 啪啪激情网 | 久久不射电影院 | 天堂在线v | 免费黄色在线 | 在线天堂视频 | 成人免费观看视频网站 | 久久艹综合 | 亚洲综合在 | 亚洲aaa级 | 久久精品在线视频 | 天堂在线一区二区三区 | 午夜12点| 亚洲小视频在线 | 91 中文字幕 | 国产精品久久99综合免费观看尤物 | 韩国精品在线观看 | 日韩激情中文字幕 | 亚洲一区网站 | 欧美日韩一区二区免费在线观看 | 日韩电影在线一区二区 | 最新真实国产在线视频 | 久久不射网站 | 欧美日韩国产综合网 | .国产精品成人自产拍在线观看6 | 色婷婷丁香 | 91成人免费观看视频 | 国产精品丝袜久久久久久久不卡 | 国产精品久久久久久久电影 | 成人黄色电影在线观看 | 免费观看视频黄 | 国产精品久久久久av免费 | 国产精品欧美一区二区三区不卡 | 午夜视频欧美 | 国产一二三精品 | 成人国产亚洲 | 国产精品国产三级国产aⅴ9色 | 欧美日韩国产页 | 手机av在线不卡 | 精品国产一区二区三区不卡 | 日韩av高清 | 日本在线h| 亚洲精品久久久久久中文传媒 | 五月天com| 免费国产黄线在线观看视频 | 国产麻豆视频在线观看 | 久久久亚洲影院 | 久久久资源网 | 久草视频在线免费 | 天天综合日| 黄污网| 久久蜜桃av | 日韩在线观看一区 | 久久国产精品视频 | 五月婷社区 | 粉嫩aⅴ一区二区三区 | 中国精品少妇 | 最近日韩免费视频 | 欧美日韩综合在线观看 | 96精品视频| 日韩中文字幕免费在线观看 | 91av在线免费观看 | 日韩视频图片 | 9在线观看免费高清完整 | 午夜国产影院 | 亚洲精品在线免费播放 | 97精品一区二区三区 | 中文字幕亚洲欧美 | 成年人视频在线 | 中文字幕黄色av | 国产大片黄色 | 国产美女精品视频 | 天天天天综合 | 国产成人a亚洲精品 | 国产精品mv在线观看 | 99免费精品视频 | 国产成人一区二区啪在线观看 | 毛片精品免费在线观看 | av一区二区在线观看中文字幕 | 久久99亚洲精品久久 | 深爱综合网 | 黄色免费在线视频 | 狠狠狠狠狠狠干 | 久久高清毛片 | 免费精品在线观看 | 国产亚洲免费观看 | 国产一区二区三区免费在线观看 | 国产69久久久欧美一级 | 亚洲精品视频播放 | 国产在线免费 | 人人网av | 99久久久久久国产精品 | 国产一区在线看 | 综合色狠狠 | 国产精品美女久久久久aⅴ 干干夜夜 | 天天夜夜狠狠操 | 国产精品色视频 | 国产精品久久久久久久久蜜臀 | 国产成人精品999在线观看 | 欧美精品一区二区三区一线天视频 | 免费日韩 精品中文字幕视频在线 | 久久精品99国产国产 | 国产成人精品一区一区一区 | 特级黄色片免费看 | 在线黄色av电影 | 美女av在线免费 | 久久爽久久爽久久av东京爽 | 国内成人精品视频 | 九九热99视频 | 在线99视频 | 色综合久久久久网 | 97成人在线观看视频 | 天堂视频中文在线 | 欧美精品久久人人躁人人爽 | 天天干com | 日韩高清在线不卡 | 成人精品一区二区三区中文字幕 | 97成人精品 | 精品v亚洲v欧美v高清v | 日日草av | 色视频成人在线观看免 | 一区二区在线电影 | 中文成人字幕 | 91成人在线观看高潮 | 精品久久久99 | 久久色网站 | 狠狠躁日日躁狂躁夜夜躁 | 亚洲高清国产视频 | 深夜精品福利 | 99视频在线看 | 日韩黄色免费 | 国产日产精品一区二区三区四区 | 精油按摩av| 久久精品电影网 | 色综合久久66 | 成人一级片在线观看 | 久久黄网站 | 五月婷香蕉久色在线看 | 天天操天| 伊人久久国产精品 | 亚洲 综合 精品 | 狠狠色噜噜狠狠狠狠2021天天 | 久久神马影院 | 午夜骚影 | 亚洲精品97 | 成人av在线一区二区 | 日韩三级精品 | 久久久久蜜桃 | 日韩在线观看网站 | 国产成人精品一区二区三区 | 久草久草久草久草 | 国产午夜精品av一区二区 | 精品视频国产一区 | 天天操天天吃 | 91亚洲在线| 国产免费一区二区三区网站免费 | 热久久免费国产视频 | 在线观看的av | 在线观看一区二区精品 | 天天操欧美 | 99在线观看免费视频精品观看 | 天天草天天操 | 五月婷婷av在线 | 国产精品永久免费 | a精品视频 | 日韩最新在线视频 | 日韩国产在线观看 | 日韩视频中文字幕 | 免费高清影视 | 美女久久久 | 一本一本久久aa综合精品 | 久久久久福利视频 | 91亚洲激情 | 国产精品久久久777 成人手机在线视频 | 久草在线费播放视频 | 五月花激情| 日韩精品久久久久久久电影竹菊 | 视频在线91 | 欧美激情第八页 | 91在线观 | 亚洲欧洲精品久久 | 国产免费又粗又猛又爽 | ww亚洲ww亚在线观看 | 88av色| 欧美日韩精品影院 | 西西444www大胆无视频 | 国产精品一区二区av麻豆 | 色人久久| 久久人人精 | 婷婷激情小说网 | 中文在线中文资源 | 亚洲视频2 | 黄色综合 | 日韩av偷拍| 婷婷六月丁香激情 | 久久久免费精品国产一区二区 | 亚洲欧美激情精品一区二区 | 亚洲国产69| 成 人 黄 色 视频播放1 | 久久成人在线视频 | 日韩欧美国产精品 | 97色免费视频 | av不卡免费在线观看 | 亚洲精品av中文字幕在线在线 | 欧美日韩一级视频 | 欧美日韩国产在线 | 久久免费的精品国产v∧ | 夜夜爽88888免费视频4848 | 99精品福利 | 六月婷操| 黄色亚洲免费 | 亚洲码国产日韩欧美高潮在线播放 | 97视频免费| 欧美日韩国产在线观看 | 激情视频免费观看 | 超碰在97 | 国产精品美女网站 | 四虎精品成人免费网站 | 香蕉久久国产 | 欧美大片大全 | 丁香花在线视频观看免费 | 欧美一级裸体视频 | 精品久久影院 | 国产黄| 不卡电影免费在线播放一区 | 午夜视频在线观看网站 | 91在线免费观看国产 | 天天爽人人爽夜夜爽 | 日韩av电影网站在线观看 | 日韩av中文字幕在线免费观看 | 97在线观看免费高清完整版在线观看 | 超碰在线人人 | 国产999免费视频 | 97成人免费视频 | 久久国产影视 | 午夜99| 日韩一三区 | 色多多在线观看 | 天天操操操操操 | 女人魂免费观看 | 日韩在线一级 | 四虎成人网 | 天堂av在线网站 | 四虎在线免费观看视频 | 中文字幕123区 | 91中文在线视频 | 999视频在线播放 | 狠狠干综合网 | 天天曰天天曰 | 日韩三级视频在线看 | 中文字幕国产在线 | 午夜国产福利在线观看 | 国产精品精品国产色婷婷 | 欧美一级久久久 | 日本久久成人中文字幕电影 | 亚洲综合欧美日韩狠狠色 | 开心色插 | 欧美精品免费在线观看 | 日韩综合色 | 亚洲精品乱码久久久一二三 | 99精品黄色| 亚洲免费精品一区二区 | 成人午夜精品久久久久久久3d | 九九视频热 | 4p变态网欧美系列 | 中国精品少妇 | 蜜桃av人人夜夜澡人人爽 | 99视频在线精品国自产拍免费观看 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 国产精品黑丝在线观看 | 特级西西444www大精品视频免费看 | 国产精品久久久久影视 | 91人人揉日日捏人人看 | 操高跟美女 | 国产精品入口久久 | 在线观看中文字幕一区 | 国产91精品一区二区麻豆亚洲 | 亚洲综合色婷婷 | 亚洲无吗av | 国产一及片 | 玖玖在线精品 | 久久久免费视频播放 | 蜜臀av性久久久久av蜜臀三区 | 伊人久久国产 | 精品久久久久久国产 | 免费高清av在线看 | 国产精品精品国产色婷婷 | 国产黄色资源 | 久99久在线| 亚洲一区网站 | 亚洲第一区精品 | 国产黄色片免费在线观看 | 免费网址你懂的 | 国产成人精品不卡 | 亚洲欧洲精品在线 | 精品国产自 | a√资源在线 | 香蕉视频在线观看免费 | 男女拍拍免费视频 | 国产成人在线免费观看 | 精品一区二区三区久久久 | 91久久黄色 | 中文不卡视频 | 欧美天天综合 | 久久综合亚洲鲁鲁五月久久 | 国产精品手机视频 | 国产最新视频在线 | 天天色天天上天天操 | 欧美色图p| 国产成人在线观看免费 | 碰天天操天天 | www黄色大片 | 激情五月***国产精品 | 国产精品久久久久久久婷婷 | 中文字幕综合在线 | 99久久精品国产免费看不卡 | 黄网站色欧美视频 | 97在线看片| 国产精品国产三级国产aⅴ入口 | 午夜精品久久久久久久99 | 久久黄色影视 | 伊人日日干 | 人人干人人添 | 天天干,天天操 | 日日噜噜噜噜夜夜爽亚洲精品 | 免费在线国产视频 | 亚洲精品网址在线观看 | 精品96久久久久久中文字幕无 | 色爱成人网| 免费在线日韩 | 免费看黄在线看 | 国产美女免费看 | av高清免费在线 | 国产精品久久久久久久久久东京 | 日本久久精品视频 | 丁香高清视频在线看看 | 久久国产精品影视 | 欧美日韩一区二区三区免费视频 | 黄色日视频 | www久草| 一区二区三区动漫 | 国产亚洲综合精品 | 久久国产精品99久久久久 | 国产黄色播放 | 一区二精品 | 成人免费色 | 亚洲人精品午夜 | 国产精品一区免费看8c0m | 亚洲成年人av | 国产一级电影免费观看 | www.天天射.com | av高清影院 | 午夜影院一级片 | 久热免费 | av中文在线影视 | 热re99久久精品国产66热 | 亚洲三级在线免费观看 | 国产精品久久久99 | 精品久久久久免费极品大片 | 国产精品免费一区二区三区在线观看 | 国产手机av | 久久精品国产一区二区三 | 99爱爱| 国产又黄又爽又猛视频日本 | 黄色成年片 | 亚洲人成在线电影 | 亚洲精品网址在线观看 | 日韩精品一区二区三区水蜜桃 | 久久精精品| 在线视频 91| 日韩精品综合在线 | 久久精品福利视频 | av电影免费在线播放 | 亚洲永久精品视频 | 久久一级片 | 91亚洲精品国偷拍自产在线观看 | 国产成人一区二区三区电影 | 精品国产一区二区三区久久 | 毛片黄色一级 | 日韩一二区在线 | 久久久麻豆精品一区二区 | 99精品视频一区二区 | 久久精品视频国产 | 午夜视频一区二区三区 | 91精品对白一区国产伦 | 国产精品99久久免费观看 | 久久精品在线视频 | 91在线九色 | 中文av日韩 | 国产精品欧美久久久久天天影视 | 国产欧美综合在线观看 | 国产精品国产三级在线专区 | 国产精品久久久久久麻豆一区 | 主播av在线 | 992tv在线| 国产精品6999成人免费视频 | 一区二区三区四区免费视频 | 欧美va在线观看 | 亚洲国产福利视频 | 欧美一级片免费 | 国产精品第二页 | 最近2019年日本中文免费字幕 | 亚洲欧美视频 | 亚洲爱视频 | 亚洲综合欧美精品电影 | 日日日操操| 99热在线精品观看 | 欧美中文字幕久久 | 在线视频手机国产 | 日日干天天 | 友田真希x88av | 丝袜美女视频网站 | 国产成人777777 | 手机成人免费视频 | 久久免费福利 | 99视频久| 天天综合网天天 | 五月婷婷香蕉 | 中日韩在线视频 | 欧美日韩国产色综合一二三四 | 视频一区二区国产 | 日韩18p| 成人超碰在线 | 国产精品久久久久久久久久久久 | 亚洲精品国产高清 | 日韩电影黄色 | 中文字幕日韩精品有码视频 | 亚洲影院国产 | 精品国产99国产精品 | 日韩免费一区二区三区 | 97超碰人人模人人人爽人人爱 | 欧美成人免费在线 | 中文字幕免费观看全部电影 | 国产免费叼嘿网站免费 | 日韩中字在线 | 欧美精品视 | 亚洲视频在线免费看 | 久草久草视频 | 国产一级黄色片免费看 | 国产亚洲精品成人 | 欧美二区在线播放 | 国产精品毛片一区二区在线 | 亚洲精品无| 永久免费精品视频网站 | 黄色成人免费电影 | 日韩在线观看免费 | 天天爽人人爽夜夜爽 | 成人app在线播放 | 久久草av | 亚洲少妇天堂 | 国产精品久一 | 久久精品国产99国产 | 欧美一级大片在线观看 | 国色天香第二季 | 色综合久久久久久久久五月 | va视频在线 | 日本成人中文字幕在线观看 | 婷婷在线视频观看 | 日韩1页 | 日韩高清在线一区二区三区 | 精品 一区 在线 | 久久看毛片 | 久久久久久久福利 | av成人在线看 | 欧美性粗大hdvideo | 国产一级免费av | 亚洲专区中文字幕 | 丁香婷婷在线观看 | 久久久久国产成人精品亚洲午夜 | 国产电影一区二区三区四区 | 久久人人爽人人爽人人片av免费 | 日韩高清激情 | 成人在线观看av | 国产69精品久久99不卡的观看体验 | 国产伦精品一区二区三区四区视频 | 国产精品免费一区二区 | 二区三区中文字幕 | 午夜视频色 | 欧美日韩中文国产一区发布 | 免费在线色 | 国产成人久久 | 又爽又黄在线观看 | 亚洲综合一区二区精品导航 | 日本中文字幕观看 | 一本到在线 | 夜夜躁日日躁 | 欧美另类sm图片 | 麻豆国产视频 | 日躁夜躁狠狠躁2001 | 91色网址| 日韩成人免费在线 | 精品一区精品二区 | 国产女v资源在线观看 | 国产精品免费成人 | 香蕉视频在线视频 | 六月丁香在线观看 | 精品视频免费在线 | bbbbb女女女女女bbbbb国产 | 亚洲精品美女久久17c | 国产亚洲精品久久久久久大师 | 国产亚洲精品xxoo | 一区二区三区精品在线视频 | 激情五月av | 久久久精品欧美 | 日韩剧 | 中文字幕电影高清在线观看 | 91精品对白一区国产伦 | 91九色porny蝌蚪主页 | 免费污片 | 国产香蕉久久精品综合网 | 精品国产福利在线 | 国产黄a三级三级三级三级三级 | 国产精品视频线看 | 日韩欧美一区二区三区在线观看 | 成片人卡1卡2卡3手机免费看 | 99热手机在线观看 | 天天射天天操天天 | 91最新国产 | 久久精品国产免费看久久精品 | a黄色一级 | 超碰伊人网 | 午夜精品电影 | 91插插插网站| 国产精品麻豆视频 | 怡红院久久 | 在线婷婷 | 色噜噜在线观看视频 | 日韩av不卡在线播放 | 国产色a在线观看 | 91秒拍国产福利一区 | 色偷偷888欧美精品久久久 | 亚洲精品网址在线观看 | 日韩精品视频免费专区在线播放 | 亚洲蜜桃在线 | 黄色小说18 | 国产精品都在这里 | 夜夜躁狠狠躁日日躁 | 成人一级片视频 | 福利视频第一页 | www.夜夜草 | 成人精品影视 | 亚洲国产欧美一区二区三区丁香婷 | 亚洲精品乱码白浆高清久久久久久 | 中文字幕在线播放日韩 | 福利视频一区二区 | 久久成人国产精品入口 | 一级理论片在线观看 | 91大神电影| 在线国产一区 | 最近高清中文在线字幕在线观看 | 香蕉视频国产在线观看 | 婷婷精品国产欧美精品亚洲人人爽 | 在线视频中文字幕一区 | 国产在线探花 | 成人午夜电影网站 | 日韩在线资源 | 国产在线精品一区二区三区 | 6699私人影院| 免费h漫在线观看 | 91免费版在线观看 | 人人舔人人插 | 国产成人一区二区三区在线观看 | 99精品国产免费久久久久久下载 | 国产精品 欧美 日韩 | 久久久久亚洲国产精品 | 久久久福利 | 亚洲精品久久久久999中文字幕 | 久久精品视频2 | 国产成人精品一区二区三区 | 日本韩国中文字幕 | 久久精品一区二区三区视频 | 91精品国产电影 | 五月天色丁香 | 免费观看www视频 | www.五月天 | 国产免费精彩视频 | 成人h动漫精品一区二 | 国产99视频在线观看 | 国产精久久 | 亚洲欧洲精品一区 | 国产护士在线 | 久久论理 | 香蕉97视频观看在线观看 | 亚洲精品国产自产拍在线观看 | 91成年人视频 | 国产一区免费观看 | 日韩av免费观看网站 | 国产视频欧美视频 | 国产小视频在线观看免费 | 国产又粗又长又硬免费视频 | sm免费xx网站| 日韩欧美精品在线 | 97精品欧美91久久久久久 | 亚州国产精品视频 | 日韩中文在线观看 | 国产精品久久久久久久久久直播 | 久久精品国产一区二区三 | 欧美日韩国产伦理 | 丁香一区二区 | 久久天天躁夜夜躁狠狠躁2022 | 操操操干干干 | 中文字幕永久在线 | 日韩在线视频观看免费 | 国产成人一区二区三区电影 | 久久成人亚洲欧美电影 | 81国产精品久久久久久久久久 | 国产精品国产三级国产aⅴ无密码 | 国产一区视频在线 | www黄| 日韩三级.com| av理论电影 | 久久精品日韩 | 91人人澡| 中文字幕高清在线播放 | 成人在线播放视频 | .国产精品成人自产拍在线观看6 | 911久久香蕉国产线看观看 | 91伊人久久大香线蕉蜜芽人口 | 99精品国产成人一区二区 | 99色在线观看 | wwwav视频| 亚洲一级二级三级 | 亚洲毛片久久 | 午夜视频99 | 国产在线免费观看 | 这里只有精品视频在线观看 | 亚洲精选视频免费看 |