亚洲精品亚洲人成在线观看麻豆,在线欧美视频一区,亚洲国产精品一区二区动图,色综合久久丁香婷婷

              當(dāng)前位置:首頁 > IT技術(shù) > 移動(dòng)平臺(tái) > 正文

              oeasy教您玩轉(zhuǎn)vim - 38 - # 配合移動(dòng)
              2021-09-05 08:54:47


              show: step
              version: 1.0
              enable_checker: true

              快速刪除

              回憶上節(jié)課內(nèi)容????

              • 以前知道可以在插入狀態(tài)下使用 <kbd>del</kbd>、<kbd>退格</kbd> 進(jìn)行刪除
              • 現(xiàn)在知道了默認(rèn)狀態(tài)下使用通過 x 刪除字符
                • 可以在 x 前面使用[count]進(jìn)行翻倍
                • 10x
                • 刪除的字符存儲(chǔ)在 "" 寄存器中
                • 可以用 :reg 查看寄存器狀態(tài)
              • 默認(rèn)狀態(tài)可以使用 X 退格
                • 刪除的字符也在 "" 寄存器中
              • 我們掌握了在 vi 中刪除字符的各種方法
              • 后面還有啥呢?????

              刪除字符

              圖片描述

              • 我們發(fā)現(xiàn) dd 可以刪除一行
              • 試一試?!????

              刪除的內(nèi)容

              • 刪除的東西放到哪里呢?:reg

              圖片描述

              • 就放在默認(rèn)寄存器""里面
              • 還可以加 [count] 進(jìn)行翻倍
              • 5dd 可以刪除 5 行,刪除之后,仍然把被刪除的內(nèi)容放到了 "" 寄存器
              • 那這個(gè) d{motion} 是什么意思呢?

              運(yùn)動(dòng)幫助

              圖片描述

              • 我們可以查詢 motion 的文檔呀!??!
              • h motion
              • motion 就是光標(biāo)運(yùn)動(dòng)
              • 比如我們 G 就直接到文檔最后一行
                • dG 就是從光標(biāo)當(dāng)前位置刪除到最后一行,太爽了!????
              • gg 是到最開始的一行
                • dgg 就是從光標(biāo)位置到最開始都刪除掉了?。?!
              • ggdG 就是從頭刪到尾
              • 8G 就是到第8行
                • d8G 就是從光標(biāo)位置到第8行都刪除
                • 如果總共只有4行,怎么辦?
                • 如果總共4行,8G就是道最后一行
                • 所以,此時(shí)d8G就是什么,你懂的?
              • 試一試????

              上下左右

              • 光標(biāo)運(yùn)動(dòng)的方式是 hjkl
              • 這些都是 motion

              hjkl

              • 如果前面是 d
              • 比如 dj
                • d 代表刪除
                • j 移動(dòng)到下一行
                • dj 代表從當(dāng)前光標(biāo)行刪除到下一行
                • 總共刪除兩行
              • 比如 dl
                • 刪除當(dāng)前光標(biāo)字符
                • 也就是 x
              • 比如 dh
                • 刪除當(dāng)前光標(biāo)前面的字符
                • 退格
                • 也就是 X

              翻倍因素

              • 如果 d8j

                • d 就是刪除
                • 8j 從當(dāng)前光標(biāo)位置到往下的8
                • d8j 所到之處都刪了
              • 同樣的 d7k
              • d 是刪除
              • 7k 是往上7行
              • 連同當(dāng)前行總共8行
              • 這范圍里都刪了
              • 思考一下
                • d8h、d4l 分別是干什么? ????

              按單詞刪

              • wbe 還記得是什么意思么?
                • 不記得的話,就 h w
              • 如果光標(biāo)在詞頭的話
                • w 是到下一個(gè) word 的開頭
                • b 是到上一個(gè) word 的開頭
                • e 是到當(dāng)前 word 的結(jié)尾

              e2

              練習(xí)

              • 所以我們知道
                • dw 是從當(dāng)前位置刪除到下一個(gè) word 的開頭(刪除包括中間的空格)
                • d3w 是從當(dāng)前位置刪除到下 3 個(gè) word 的開頭
                • 3dw 是從當(dāng)前位置做 3dw
                • 3d2w 是把 d2w3
                • de 是從當(dāng)前位置刪除到當(dāng)前 word 的結(jié)尾(不刪除空格)
                • d4e 是從當(dāng)前位置刪除到下4個(gè) word 的結(jié)尾(包括當(dāng)前單詞)
                • db 是刪除前面的 word
                • d2b 是前面 2 個(gè) word
              • 以上是當(dāng)前光標(biāo)在詞頭的情況
              • 如果當(dāng)前光標(biāo)在詞中?

              光標(biāo)在詞中

              • 如果光標(biāo)在詞中的話
                • w 是到下一個(gè) word 的開頭
                • b 是到當(dāng)前 word 的開頭
                • e 是到當(dāng)前 word 的結(jié)尾

              e3

              • 移動(dòng)到那里就刪到哪里!
              • b是保留當(dāng)前光標(biāo)字符往前刪的
              • 這個(gè)還得注意 wordWORD 的區(qū)別

              大詞小詞

              count

              • 大小詞定義
                • word包括空格和各種標(biāo)點(diǎn)作為分隔符
                • WORD只有空格被認(rèn)作分割符
                • 比如text-indent
                • 就是 3個(gè)word
                • 也是 1個(gè)WORD
                • dW 就可以直接刪除這個(gè),這個(gè)很方便,尤其標(biāo)識(shí)符里面有很多下劃線的情況
              • 說出大天也沒有用,這個(gè)就得動(dòng)手練!????

              行頭行尾

              WEB

              • 行頭

                • <kbd>^</kbd> 是到本行第一個(gè)非空字符
                • <kbd>0</kbd> 是到本行第一個(gè)字符,不管是不是空格
              • 行尾

                • <kbd>$</kbd> 跳到本行最后一個(gè)字符,即使他是空格
                • <kbd>g</kbd><kbd>_</kbd> 是到本行最后一個(gè)非空字符
                • 兩個(gè)按鍵要依次按下
                • 如果忘了就要 :h 查詢一下
              • 刪除呢?
                • d^ 就是刪除到本行第一個(gè)非空字符,當(dāng)前字符保留
                • d0 就是從當(dāng)前位置刪除到本行第一個(gè)字符(不管他是否是空格),當(dāng)前字符還是保留著
                • 2d^ 就是將 d^ 執(zhí)行 2 遍,其實(shí)和執(zhí)行一遍沒有區(qū)別,還是刪一行
                • d2^ 就是 d2^d^,其實(shí)一樣的,還是刪一行
                • <kbd>d</kbd> <kbd>$</kbd> 從光標(biāo)刪除到行尾,包括光標(biāo)所在的當(dāng)前字符
              • <kbd>d</kbd> <kbd>$</kbd> 還有一種做法<kbd>D</kbd>

              刪到行尾

              • :h D

              圖片描述

              • <kbd>D</kbd> 本身就是 <kbd>d</kbd> <kbd>$</kbd>
              • 定位的方法還有行內(nèi)查找

              行內(nèi)查找

              findo

              • 通過<kbd>f</kbd><kbd>o</kbd>直接就跳到了右邊的 o 字符
              • dfo 就是從當(dāng)前位置 dfo 的位置
                • fo 的位置就是從當(dāng)前位置向前 f 到的第 1 個(gè) o 的位置
                • 光標(biāo)當(dāng)前字符也刪除
              • d2fo 就是從當(dāng)前位置 d2fo 的位置
                • fo 的位置就是從當(dāng)前位置向前 f 到的第 2 個(gè) o 的位置
              • 2dfo 就是將 dfo 執(zhí)行 2
                • dfo 就是從當(dāng)前位置 dfo 的位置
                • fo 的位置就是從當(dāng)前位置向前 f 到的第 1 個(gè) o 的位置
              • 這兩個(gè)結(jié)果其實(shí)一樣

              2fo

              反向查找

              • 反向查找的話是 F

              findnext

              • dFo 是從當(dāng)前位置刪除到 Fo 的位置
                • Fo 的位置是從當(dāng)前位置反向查找 F1 個(gè) o 的位置
                • 當(dāng)前光標(biāo)所在字符保留
              • dF2o 的位置是從當(dāng)前位置刪除到 F2o 的位置
                • F2o 的位置是從當(dāng)前位置反向查找 F2 個(gè) o 的位置
                • 當(dāng)前字符保留
              • 2dFo 就是將 dFo 執(zhí)行 2
                • dFo 就是從當(dāng)前位置 dFo的位置
                • Fo 的位置就是從當(dāng)前位置反向查找 F 到的第 1 個(gè) o 的位置

              配合重復(fù)

              圖片描述

              • .可以重復(fù)上次操作
              • 如上圖的df>
              • .就是再執(zhí)行df>一次
              • 可以在oeasy.java里面練習(xí)一下????

              行內(nèi)貼靠

              • 除了 f 之外我們還有 t
              • <kbd>f</kbd> <kbd>e</kbd> 是把光標(biāo)移動(dòng)到 e 上面
                • 是跳轉(zhuǎn)到
              • <kbd>t</kbd> <kbd>e</kbd> 是把光標(biāo)移動(dòng)到 e 之前的字符上面
                • 是貼靠到

              helpt

              • dt( 是指從當(dāng)前位置刪除到 t(
                • t( 是指貼靠到 (
                • t誰就是要貼靠到誰
              • 這個(gè)可以翻倍嗎?

              貼靠翻倍

              • 可以!
              • 這個(gè)也可以通過 [count] 翻倍
              • <kbd>2</kbd> <kbd>t</kbd><kbd>o</kbd>
              • till 第 2 個(gè) o

              tillgoon

              • d2to 可以刪除到 紅色的l
              • d3to 可以刪除到 紫色的w
              • 不但可以翻倍
              • 而且可以重復(fù)<kbd>.</kbd>
              • 距離看不清的時(shí)候就用<kbd>.</kbd>

              跳躍和貼靠

              • f 相關(guān)的是跳躍
                • 跳躍是<kbd>f</kbd>
                • 跳躍是<kbd>F</kbd>
              • t 相關(guān)的是貼靠
                • 貼靠是 <kbd>t</kbd>
                • 貼靠是 <kbd>T</kbd>
              • 小寫 相關(guān)的是 向前
                • 向前 跳躍是 <kbd>f</kbd>
                • 向前 貼靠是 <kbd>t</kbd>
              • 大寫 相關(guān)的是 向后
                • 向后 跳躍是 <kbd>F</kbd>
                • 向后 貼靠是 <kbd>T</kbd>

              全文查找

              • 全文查找的兩個(gè)命令是 <kbd>/</kbd> 和 <kbd>?</kbd>
              • d/Code 如何執(zhí)行?
                • 摁下 <kbd>d</kbd>,注意狀態(tài)欄
                • <kbd>/</kbd>然后狀態(tài)欄只顯示 /
                • 輸入 Code 注意狀態(tài)欄
                • 文中查找 Code 并且高亮顯示
                • 摁下 回車 把從當(dāng)前光標(biāo)一直到高亮顯示的 Code 的位置
              • 反向查找的話就是 <kbd>?</kbd>
              • 可以加翻倍 [count] 嗎?
                • 可以的 3d/Code
              • 而且可以<kbd>.</kbd>重復(fù)查找刪除
              • 動(dòng)手試一下?。。????

              文本區(qū)塊

              • 使用 {、},讓光標(biāo)前后移動(dòng)段落
              • 使用(、),讓光標(biāo)前后移動(dòng)句子
              • 可以使用 [count] 翻倍
              • :h } 來查看文檔

              圖片描述

              圖片描述

              • 這些也是 motion 可以和 d 配合
              • 比如 d{、d3)

              總結(jié)

              • 我們大幅度地復(fù)習(xí)了整個(gè) motion

              • 直接運(yùn)動(dòng)

                • <kbd>h</kbd> <kbd>j</kbd> <kbd>k</kbd> <kbd>l</kbd>
              • 行運(yùn)動(dòng)

                • 首行<kbd>g</kbd> <kbd>g</kbd>
                • 末行<kbd>G</kbd>
                • 第n行<kbd>n</kbd> <kbd>G</kbd>
              • 單詞運(yùn)動(dòng) wbe

                • <kbd>w</kbd> 是到下一個(gè) word 的開頭
                • <kbd>b</kbd> 是到當(dāng)前 word 的開頭
                • <kbd>e</kbd> 是到當(dāng)前 word 的結(jié)尾
                • 除了 word 之外還有 WORD
              • 行頭行尾

                • <kbd>^</kbd> 是到本行第一個(gè)非空字符
                • <kbd>0</kbd> 是到本行第一個(gè)字符,不管是不是空格
                • <kbd>g</kbd><kbd>_</kbd> 是到本行最后一個(gè)非空字符
                • <kbd>$</kbd> 跳到本行最后一個(gè)字符,即使他是空格
              • 行內(nèi)跳躍和貼靠

                • 跳躍是<kbd>f</kbd>
                • 跳躍是<kbd>F</kbd>
                • 貼靠是<kbd>t</kbd>
                • 貼靠是<kbd>T</kbd>
              • 全文查找

                • 查找的話就是 <kbd>/</kbd>
                • 反向查找的話就是 <kbd>?</kbd>
              • 文本區(qū)塊

                • <kbd>{</kbd>、<kbd>}</kbd> 按段落移動(dòng)
                • <kbd>(</kbd>、<kbd>)</kbd> 按句子移動(dòng)
              • 這些 motion 都可以 <kbd>d</kbd>配合使用,完成快速刪除的工作
              • 過程中還可以使用 [count] 進(jìn)行翻倍
              • 刪除的內(nèi)容,放在 "" 寄存器中
              • 可以配合重復(fù)<kbd>.</kbd>
              • 那這個(gè)東西刪了
              • 放在寄存器里
              • 我想粘貼到別的地方
              • 怎么辦呢?????
              • 下次再說 ????

              [Github地址] (https://github.com/overmind1980/vimtutorial)
              [Gitee地址] (https://gitee.com/overmind1980/vimtutorial)
              [藍(lán)橋?qū)嶒?yàn)樓 邀請(qǐng)碼FJWYIMGB] (https://www.lanqiao.cn/courses/2840)

              本文摘自 :https://blog.51cto.com/u

              開通會(huì)員,享受整站包年服務(wù)立即開通 >