LaTeXで環境やコマンドをすばやく変更するにはどうすればよいですか


7

LaTeXテキスト(本全体)の大きな本体が\textit{}あり\textbf{}、場所によってコマンドが交換されています。他の場所ではそれらは完全に欠落しています。次のことができるように、Vimでクイックショートカットを作成するにはどうすればよいですか。

  • 内部の内容に影響を与えず\textit{}\textbf{}、とその逆を切り替えます{}
  • カーソルの下の単語またはフレーズを\textit{}または\textbf{}コマンドのいずれかにラップします。
  • \textit{}または\textbf{}コマンドが不要であるが誤って入力された場合は、コマンドを削除してください。

ちなみに、これらは環境ではなく、コマンドです。違いがあります。
muru、

回答:


7

vimtexプラグインを使用すると、次のことができます。

  1. 使用して囲むコマンドを変更しますcsc

    ここに画像の説明を入力してください

  2. ヘルプによると、がysc提供するコマンドに対応するものsurround.vimはありませんが、追加できます。を参照してください:h vimtex-faq-surround

                                                              *vimtex-faq-surround*
    Q: |vimtex| provides `dse`, `dsc`, `cse`, and `csc`.  These seem to be inspired by
       |surround.vim|.  Does |vimtex| also provide the corresponding `yse` and `ysc`?
    A: The mentioned mappings are indeed inspired by |surround.vim|.  However,
       |vimtex| does not provide `yse` and `ysc`.  If you use |surround.vim|, then
       the asked for mappings may be easily added if one adds the following lines
       to ones `vimrc` file: >
    
      augroup latexSurround
         autocmd!
         autocmd FileType tex call s:latexSurround()
      augroup END
    
      function! s:latexSurround()
         let b:surround_{char2nr("e")}
           \ = "\\begin{\1environment: \1}\n\t\r\n\\end{\1\1}"
         let b:surround_{char2nr("c")} = "\\\1command: \1{\r}"
      endfunction
    <
    
  3. を使用して囲んでいるコマンドを削除しdscます。


よろしくお願いします。チェックして、どのように機能したかをお知らせします。
mkc 2016

4
コマンドの現在のサポートは非​​常に簡単なだけであることを述べておきたいと思います。これは、LaTeX / TeXコマンドの解析が非常に難しいためです。つまり、特定のコマンドの引数の数を知るにはどうすればよいですか?(回答:コマンドの定義がわからない場合はできません。)したがってcsc、カーソルが実際のコマンドまたは最初の引数にある場合にのみ機能します。
Karl YngveLervåg2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.