obsidian_vim

Obsidian快捷鍵

Vim 專區

外掛 Relative Line Numbers (相對行數)

相對行號功能,主要搭配vim編輯時快速刪除我要的行數(3dd,5dd這類的操作)

Obsidian實現 類似 Easymotion功能(但還差蠻多的)

需要安裝 Jump to Link

DEMO

100-Projects/resource/Jump to Link_DEMO.gif

這邊提供我快速啟動的方法,主要是搭配此外掛的 jump-to-link:activate-jump-to-anywhere-Regex

編輯 .obsidian.vimrc 把下面這段加入,下面這段意思是:在一般模式按下空白鍵啟動 jump-to-anywhere-Regex

exmap jumptoanywhere obcommand mrj-jump-to-link:activate-jump-to-anywhere
nmap <Space> :jumptoanywhere

查看Obsidian的command

Ctrl + Shift + i 打開 開發者模式

使用 :obcommand 輸入下去可以查看Obsidian 的所有命令

查詢vim 命令列的對照表 關鍵字 :h key-notation

快捷鍵預設值

codemirror-vim/vim.js at master · replit/codemirror-vim · GitHub

一般常用快捷鍵

切1換突顯
Ctrl + K

程式碼
Ctrl + j

Hello World

註腳測試

Alt + 0[1]
Alt + 9 [2]

y => 複製
P => 貼上

游標

Ctrl + Alt + J 游標切換下面視窗
Ctrl + Alt + k 游標切換上面視窗
Ctrl + Alt + h 游標切換左面視窗
Ctrl + Alt + l 游標切換右面視窗

打字

A 行末加上字(直接把游標移到最後面)
C 修改自行末(游標後面的都刪除)
x del
X 倒退

移動

} 段尾
{ 段首

Ctrl + D 往下 大幅度
Ctrl + U 往上 大幅度

G 頁面底端
g 頁面頂端

E or e 單字尾
W or w 單字頭

i 字母前方插入文字
a字母後方插入文字

C^ 取代有標前的文字
C$ 取代游標之後的文字

C 游標右邊刪除
c0游標左邊刪除

ea跳到該行的最後一段文字 = A

0 游標移動到最前面
^游標移動到最前面文字

``^ 行首 跟0的差別在於0最前面,^文字前

視覺模式

v 表示視覺模式用於選取文字
V 視覺-多行模式
vw = 選取一個文字

viw = 不論游標在哪直接複製該單字💪 release of Lastaset. diw 表示刪除

resource/test.png

vaw = 同上 包含空白💪 "release of Lastaset" daw 表示刪除包含空白

resource/test-1.png

v{ } 選取區塊

resource/test-2.png

vit 用在html tag超有用 Obsidian沒用

<title>Hello World</title>

resource/test-3.png

組合技

vip 選取一個段落
v3w 表示選取三個文字
v3j = 往下複製三行
vi + ( ) 選區( ) 內的文字

resource/Vim-1.png

hellajwefioawjfewaowfej ijawofijwae aiwejowafj awefijawfoi
awoefjweao oiajwefiowaj . waioejfweoijf aoiwejfoiewaj
我我我我我我我我我我。 我我我我我ㄨA.ㄛ

ve = 選取該文字的尾巴
vey = 選取文字並複製單字

視覺模式Block

ctrl + v 類似alt 多行選取功能

ctrl + v + i +  # 在前面加上#字符號

##abcdefg
##abcdefg
##abcdefg

實用技巧

. 重複動作,表示上面的#也可以用
J 合併文字 💪

ctrl + U 插入模式砍掉游標前的文字 (跟shell一樣)
ctrl + w 插入模式閃掉郵編前一個文字(跟shell一樣)

de 單除單一詞
y$拷貝到最後
yt"拷貝到雙引號的文字

ggVG 全選


// vip 複製整段程式碼
// vi() 選取括號內文字 va()
// vi{ or } 表示修改整個{}的內容(必用
> [!caution] Select Video
> A video needs to be opened before using this hotkey.
 Highlight your video link and input your 'Open video player' hotkey to register a video.
)
function (string a, string b){
	// vi + " 選取 雙引號內的資料
	Write.Line("Hello World");
}

vi + [ ] 選取 [ ] 內的文字


array = [ msg01, msg02 ]

vi + { } 選區 { } 內的文字


function ( string c, int d ){
	WriteLine.Respone("TEST");
	Console.Write("TEST2");
}

vi + 2 ( 表示第二個中括號的文字

String text = ("Hello " +  ( "vim " + " " + "SE"));

寄存器

"q3yy 寄存在q 複製 3行資料
"a2yy 既存在a 複製2行資料
"ay 複製選取的文字
"ap 貼上選取的文字

冒號 表示有暫存記得意思

讓外面的剪貼簿也可以在vim內使用 Obsidian沒用

:set clipboard = unnamed

文字替代 Replace 功能

https://youtu.be/iviwEUOLUXE?t=448

resource/Vim.png

KEY MAPPING

100-Projects/resource/Vim.png


  1. ↩︎
  2. 自動給序號 ↩︎