<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                到目前為止我們已經講完了單行命令。在本書后面的三分之一個章節中將會把Vim腳本當作一個_腳本語言_。這部分東西不會像前面的你學到的東西一樣馬上可以學以致用,不過這是為本書的最后一部分打基礎,最后一部分會講解創建一個插件所需要的各個方面的東西。 我們開始吧。我們首先要了解的是變量。執行下面的命令。 ~~~ :let foo = "bar" :echo foo ~~~ Vim會顯示`bar`。`foo`現在是一個變量,我們將一個字符串`"bar"`賦值給它。現在執行這些命令: ~~~ :let foo = 42 :echo foo ~~~ Vim會顯示`42`,因為我們將`foo`賦值為整型`42`。 從這些小例子似乎可以看出Vim腳本是動態類型的。事實并非如此,我們之后會說明。 ## 作為變量的選項 你可以通過一種特殊語法將_選項_作為變量來設置。執行下面的命令: ~~~ :set textwidth=80 :echo &textwidth ~~~ Vim會顯示`80`。在名稱的前面加一個`&`符號是告訴Vim你正在引用這個選項,而不是在使用一個名稱剛好相同的變量。 我們來看下Vim是怎么處理布爾選項的。執行下面的命令: ~~~ :set nowrap :echo &wrap ~~~ Vim顯示`0`。然后再試試這些選項: ~~~ :set wrap :echo &wrap ~~~ 這次Vim會顯示`1`。這些輸出很明確提示Vim會將整型`0`當作"false",整型`1`當作"true"。我們可以更進一步假設Vim會將所有的非0值整型當作"truthy",而事實確實如此。 我們也可以使用`let`命令來_設置_作為變量的選項。執行下面的命令: ~~~ :let &textwidth = 100 :set textwidth? ~~~ Vim會顯示`textwidth=100`。 既然`set`可以搞定選項的設置,那我們為什么還要用`let`呢?執行下面的命令: ~~~ :let &textwidth = &textwidth + 10 :set textwidth? ~~~ 這一次Vim顯示`textwidth=110`。當你用`set`來設置某個選項,你只能給它設置一個常量值。當你使用`let`并將它作為一個變量來設置,你可以使用Vim腳本的所有強大之處來決定它的值。 ## 本地選項 如果你想將某個選項作為變量來設置它的_本地_值,而不是_全局_值,你需要在變量名前面加前綴。 在兩個分隔的窗口中分別打開兩個文件。執行下面的命令: ~~~ :let &l:number = 1 ~~~ 然后切換到另一文件,然后再執行下面的命令: ~~~ :let &l:number = 0 ~~~ 注意第一個窗口會出現行號,而第二個沒有。 ## 作為變量的寄存器(Register) 你也可以將_寄存器_當作變量來讀取和設置。執行下面的命令: ~~~ :let @a = "hello!" ~~~ 現在把光標放到文本中的某個地方然后敲擊`"ap`。這個命令會告訴Vim“在這里粘貼寄存器`a`中的內容”。我們設置了這個寄存器的內容,所以Vim會將`hello!`粘貼到你的文本中。 還可以讀寄存器的內容。執行下面的命令: ~~~ :echo @a ~~~ Vim會輸出`hello!`。 在你的文件中選擇一個單詞然后用`y`復制,再執行下面的命令: ~~~ :echo @" ~~~ Vim會輸出你剛才復制的單詞。`"`寄存器是“未命名(unnamed)”寄存器,在復制的時候沒有指定寄存器的文本都會放到這里。 在你的文件中執行搜索`/someword`,然后執行下面的命令: ~~~ :echo @/ ~~~ Vim會輸出你剛剛使用的搜索模式。這樣你就可以通過編程來讀_和修改_當前的搜索模式,有些時候這會很有用。 ## 練習 檢查你的`~/.vimrc`文件,然后將其中的一些`set`和`setlocal`命令替換為它們的`let`形式。記住布爾選項仍然需要被設置為某個值。 嘗試將某個布爾選項設置為0和1之外的值,例如`wrap`。當你將它設置為一個不同的數字時會怎么樣?如果設置為字符串又會是什么情況? 回到你的`~/.vimrc`文件,然后恢復所有的修改。在`set`可以搞定的時候,永遠都不要用`let`,這是因為`let`更難于閱讀。 閱讀`:help registers`,然后看看你可以進行讀和寫的寄存器列表。
                  <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>

                              哎呀哎呀视频在线观看