Home 幾個我常用的vim的功能
Post
Cancel

幾個我常用的vim的功能

作為一個軟體工程師,我們花在文字編輯器上的時間一定佔了一定的比例, 更精通熟悉我們使用的編輯器的話,開發的效率可以提升很多,今天就來分享一些我蠻常會用到的vim的功能~

Introduction

Vim是一個modal editor,可以切換在各個模式之間,一開始時是在normal mode,今天要介紹的功能, 都是在normal mode下操作的,按ia可以進入insert mode,按esc即可以退回normal mode。

我通常比較常使用a,因為當把指標移到最後時,用a可以直接在最後面開始輸入。

Navigation

上下左右

最基本的就是kjhl分別對應到上下左右

翻頁

覺得上下按著這樣太慢,可以用Ctrl-UCtrl-D來上下翻頁

行首、行末

0指標會跳掉當行的最前面,$則是最後面。

字的跳躍

w可以跳到下一個字的開頭,e則是跳到下一個字的結尾,b則是往前跳到前一個字的開頭。

() [] {} 跳躍

指標找到了一對括號的其中一個,想要到另一個的話可以用%

搜尋跳躍

將指標放在字上,按#,就會自動幫你搜尋,並跳到相同的字上,效果相當於用/搜尋再按n

vim: #

Deletion

刪除一個字母

x,可以刪除指標上的那個字。

刪除一行

dd,刪除指標所在的那一行。

刪掉指標後的所有字

D,常用狀況像是複製了一行method,然後刪掉method name跟paramters再打新的。如下圖反白部分: dw

d + {navigation key}

搭配上面提到的各種navigation的方法,比如說:

  • dw : 刪掉一個字,從指標到字的尾端,像是下圖反白的部分。 dw
  • d% : 刪掉整個(…)、[…]或{…}

di

  • diw:跟dw也是刪掉一個字,但是可以刪掉整個字,效果就相當於先按b讓指標回到字首再dwdiw
  • di" or di( or di[ or di{:刪掉”“內、()、[]及{}的所有字。

    di( or di)即可刪掉()中function的paramter di(

    di"則是刪掉雙引號中間的所有字,留下雙引號 di"

da

da的話跟上述di都ㄧ樣,只不過會將引號或括號都一併刪除。

d 換成 c

將上面的d都換成c,可以有一樣的功能,差別就是會直接進入insert mode,所以可以省去一個按i的時間。 如cwciwci"ca(

Copy and Paste

複製一行

yy複製一行,p貼上

y + {navigation key}

y一樣可以搭配上面提到的navigation key來複製

  • ywyiw: 複製一個字
  • yi": 複製雙引號內的字
  • y%: 複製成對括號內的字

稍微簡單地紀錄一下及分享,希望能有幫助~~ 掰掰~👋

This post is licensed under CC BY 4.0 by the author.

Introduction to HTTP Response Status Codes: How to use them correctly?

HTTP headers 簡介: 一些常用的headers

Comments powered by Disqus.