<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                現在我們先花點時間復習一下我們已經談論過的三個東西:映射(mappings),縮寫(abbreviations)和選項設置(options),這個過程中會講到一些新的東西。我們將在一個單一的緩沖區中同時設置它們。 這一章所講到的東西會在下一章中真正的顯示它們的作用,目前我們只需先打下基礎。 在這一章中你需要在Vim中打開兩個文件,兩個文件是分開的。我先將它們命名為`foo`和`bar`,你可以隨便對它們命名。然后為每個文件輸入一些文字。 ## 映射 選擇文件`foo`,然后執行下面的命令: ~~~ :nnoremap <leader>d dd :nnoremap <buffer> <leader>x dd ~~~ 現在保持在文件`foo`下面,確保當前處于常用模式下,然后敲擊`<leader>d`。Vim會刪除一行。這個之前講到過,沒什么新鮮的。 仍然保持在文件`foo`下面,敲擊`<leader>x`。Vim也會刪除一行。這很正常,因為我們也將`<leader>x`映射到`dd`了。 現在切換到文件`bar`。在常用模式下敲擊`<leader>d`。同樣的,Vim會刪除當前行,也沒有什么新鮮的。 ok,現在來點新鮮的:在文件`bar`下敲擊`<leader>x`。 Vim只刪除了一個字符,而不是刪除整個行! 為什么會這樣? 第二個`nnoremap`命令中的`<buffer>`告訴Vim這個映射只在定義它的那個緩沖區中有效: 當你在`bar`文件下敲擊`<leader>x`,Vim找不到一個跟它匹配的映射,它將會被解析了兩個命令:`<leader>`(這個什么都不會干)和?`x`(通常會刪除一個字符)。 ## 本地Leader 在這個例子中,`<leader>x`是一個本地緩沖區映射,不過這種定義方式并不合適。如果我們需要設定一個只會用于特定緩沖區的映射,一般會使用`<localleader>`,而不是`<leader>`。 使用兩種不同的leader按鍵就像設置了一種命名空間,這會幫助你保證所有不同的映射對你而言更加清晰直接。 但你在編寫一個會被其他人用到的插件的時候,這點顯得尤其重要。使用`<localleader>`來設置本地映射會防止你的插件覆蓋別人用`<leader>`設置的全局映射,因為他們可能已經對他們做設置的全局映射非常之習慣了。 ## 設置 在這本書的前面幾個章節里,我們談論了使用`set`來設置選項。有一些選項總是會適用于整個Vim,但是有些選項可以基于緩沖區進行設置。 切回到文件`foo`,執行下面的命令: ~~~ :setlocal wrap ~~~ 然后切換到文件`bar`,執行下面的命令: ~~~ :setlocal nowrap ~~~ 把你的Vim窗口調小一些,你會發現有些行在`foo`中會自動換行,而在`bar`中則不會。 讓我們來測試下另外一個選項。切換到`foo`執行下面的命令: ~~~ :setlocal number ~~~ 現在切換到`bar`,然后執行下面的命令: ~~~ :setlocal nonumber ~~~ 現在在文件`foo`中會出現行號,而在`bar`則沒有。 不是所有的選項都可以使用`setlocal`進行設置。如果你想知道某個特定的選項是否可以設置為本地選項,執行`:help`查看它的幫助文檔。 對于本地選項如何_真正地_地工作,我說的有些簡略。在練習中你會學到更多這方面的細節。 ## 遮蓋 ok,在開始下一節之前,我們先來看關于本地映射的一個非常有趣的特性。切換到文件`foo`,然后執行下面的命令: ~~~ :nnoremap <buffer> Q x :nnoremap Q dd ~~~ 然后敲擊`Q`,看看會發生什么? 當你敲擊`Q`,Vim會執行第一個映射,而不是第二個,因為第一個映射比起第二個要顯得_更具體_,這可以看成第二個映射被第一個映射遮蓋了。 切換回文件`bar`,然后敲擊`Q`,Vim會使用第二個映射。這是因為在這個緩沖區中第二個映射沒有被第一個映射遮蓋。 ## 練習 閱讀`:help local-options`。 閱讀`:help setlocal`。 閱讀`:help map-local`。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看