国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

使用 Vim 的 jump list 看代碼

FrancisSoung / 3256人閱讀

摘要:完整配置見可以記錄我們最近訪問的位置。下方是比當前位置新的位置,使用進行跳轉。再多的內容,我也記不住另外,的標記功能對代碼瀏覽也非常方便,有時間再介紹吧。

完整 Vim 配置見:space-vim


jumplist

Vim 可以記錄我們最近訪問的位置(location)。每個位置(position)(position 包括了文件名,列號,行號)會被一個 jump list (跳轉表)中,每個窗口(window)都有一個多帶帶的 jump list,它可以記錄最近 100 個訪問的位置。

像搜索(search), 替換(substitue)和標記(mark)的命令都被認為是一個“jump”(跳轉),但是在一個文件中進行滾動并不是一個 jump. 詳見 :h jump-motions.

之所以了解 jumplist,是因為在看 go 的項目時,經常查看代碼的定義(gd,使用 vim-go 插件),這時就可以使用 Ctrl-ICtrl-O 進行跳轉??赐甓x后,Ctrl-O 就可以很快跳回來。

如何使用

使用 :jumps 來顯示當前窗口的 jump list,由于太長,下圖并未顯示完,使用 Vim 的常見快捷鍵進行滾動,j,k,G 等等:

使用 Ctrl-o 跳轉到上一個位置,Ctrl-i 跳轉到下一個位置。Ctrl-oCtrl-i 前面也可以加上編號,進行精確跳轉,這個編號就是上圖中 jump 列的數字。跳轉以后再查看 jump list, 你會發現有個 > 指示了當前位置,一開始的時候它是在 jump list 的頂部,如果你的 jump list 比較長的話,可能需要拖到底部(快捷鍵 G)才能看到:

上圖中可以看出,行號為 0 的上下方都是從 1 開始編號,它們分別代表了比當前位置更舊或新的位置。下方是比當前位置新的位置,使用 Ctrl-I 進行跳轉。上方是比當前位置舊的位置,使用 Ctrl-O 進行跳轉:

Ctrl-I 會跳轉到行號為 0 的下方編號為 1 的位置,也就是 1 21 5 type MessageType uint16.

Ctrl-O 會跳轉到 1 420 24 ~/go/src/github.com/lightningnetwork/lnd/fundingmanager_test.go

Ctrl-ICtrl-O 同樣可以加上數字跳轉到對應位置。比如 4 然后 Ctrl-I 會跳轉到 5 14 5 ~/go/src/github.com/lightningnetwork/lnd/lnwire/accept_channel.go.

簡化操作

前面說了可以使用位置的編號加上 Ctrl-ICtrl-O 跳轉到對應位置,Ctrl-ICtrl-O 這個操作其實可以省略。比如,輸入 4 向后跳轉到第 4 個位置,輸入 +4 向前跳轉到第 4 個位置:

function! GotoJump()
  jumps
  let j = input("Please select your jump: ")
  if j != ""
    let pattern = "vc^+"
    if j =~ pattern
      let j = substitute(j, pattern, "", "g")
      execute "normal " . j . ""
    else
      execute "normal " . j . ""
    endif
  endif
endfunction

你可以選擇將這個函數放到你的 .vimrc 中,:call GotoJump() 進行使用。在 space-vim 我將它放在了 util.vim, 可以這樣進行調用::call spacevim#util#GotoJump(), 再映射一個快捷鍵就能比較方便地使用了:

nnoremap gj :call spacevim#util#GotoJump()

其實講了這么多,只需要學到 C-iC-o 這兩個快捷鍵就行了,一個是跳轉到上一個位置,一個是跳轉到下一個位置。再多的內容,我也記不住 :).

另外,Vim 的 mark(標記)功能對代碼瀏覽也非常方便,有時間再介紹吧。

參考:

Jumping to previously visited locations

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/24968.html

相關文章

  • mac 下新玩具

    摘要:為啥需要,因為能更快更方便的進行代碼提示與代碼補全,每個人的精力都是有限的,能打一個字母出來結果就絕對不打第二個。 tools zsh為啥需要zsh,因為能更快更方便的進行代碼提示與代碼補全,每個人的精力都是有限的,能打一個字母出來結果就絕對不打第二個。 plugins=(git brew mvn svn svn-fast-info sbt go pip zsh-syntax-high...

    canopus4u 評論0 收藏0
  • Vim 哲學(三)

    摘要:插件鍵位映射技巧性的配置等等都是錦上添花,它們有助于你進一步提高效率以及個性化你的工作環境,但是對于哲學的理解幫助甚少。為你開啟語法高亮。你可以自定義各種語言的語法高亮,無非就是根據這些規 如果沒有挑戰,人生將多么無趣! 兩種副本 在我的硬盤上總是保留著(至少)兩份 Vim 的配置文件。其中一份是所謂完全正式版,它的文件名是 .vimrc,到本系列結束的時候,我們將了解其中...

    klinson 評論0 收藏0
  • avalon js+css3實現roundabout 圖片輪播

    摘要:效果效果就像優酷綜藝頻道頁面的圖片輪播。本屌之前做過這個參見仿優酷頻道首頁的圖片切換效果不過用的是類似的庫做的。 roundabout效果 效果就像優酷綜藝頻道頁面的圖片輪播。本屌之前做過這個roundabout,參見仿優酷頻道首頁的圖片切換效果,不過用的是類似jquery的庫做的。盡管js代碼不到200行,但還是顯得有點復雜。于是乎,本屌盤算著可不可以用更少的代碼完成這個效果。順便說...

    AlphaGooo 評論0 收藏0
  • avalon js+css3實現roundabout 圖片輪播

    摘要:效果效果就像優酷綜藝頻道頁面的圖片輪播。本屌之前做過這個參見仿優酷頻道首頁的圖片切換效果不過用的是類似的庫做的。 roundabout效果 效果就像優酷綜藝頻道頁面的圖片輪播。本屌之前做過這個roundabout,參見仿優酷頻道首頁的圖片切換效果,不過用的是類似jquery的庫做的。盡管js代碼不到200行,但還是顯得有點復雜。于是乎,本屌盤算著可不可以用更少的代碼完成這個效果。順便說...

    Awbeci 評論0 收藏0

發表評論

0條評論

FrancisSoung

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<