【问题标题】:Enabling and disabling word wrap automatically on different file extensions on Vim在 Vim 上的不同文件扩展名上自动启用和禁用自动换行
【发布时间】:2010-06-30 04:06:33
【问题描述】:

我通常必须阅读长行的 .txt 文件,同时编辑一些源文件,我喜欢在 .txt 文件上看到自动换行,而不是在没有的文件中看到自动换行。

我当然可以 :set wrap 和 :set linebreak,但是有什么办法可以自动完成,并且依赖于文件扩展名?

【问题讨论】:

    标签: vim word-wrap file-extension


    【解决方案1】:

    我能想到两种选择。首先,您可以按照 Tassos 的建议使用 autocmd:

    :au BufNewFile,BufRead *.txt set wrap
    

    见:

    :help autocmd
    

    另一种选择(如果您按照建议进行了多个设置,这可能更适用):在您的 vim 配置文件夹(见下文)的 after/ftplugin 目录中创建一个名为 txt.vim 的文件,它将是每当您打开.txt 文件时就获取。您可以将它放在普通的ftplugin 目录中(而不是after/ftplugin),但是它不会加载.txt 文件的任何内置设置。

    将你想要的任何命令放在这个文件中:

    " This is txt.vim in the ftplugin directory
    set wrap
    set linebreak
    

    见:

    :help after-directory
    :help ftplugin
    

    Vim 配置文件夹

    在 Windows 上,这通常是这样的:

    C:\Documents and Settings\%USERNAME%\vimfiles\after\ftplugin\txt.vim
    

    (我认为),或者

    C:\Program Files\Vim\vimfiles\after\ftplugin\txt.vim
    

    甚至:

    C:\vim\vimfiles\after\ftplugin\txt.vim
    

    在 Linux 上是:

    ~/.vim/after/ftplugin/txt.vim
    

    有关详细信息,请参阅:

    :help runtimepath
    

    【讨论】:

    • "set nowrap" 也达到相反的效果
    • 对于 ftplugin 路由,我还需要将au! BufNewFile,BufRead *.txt setf txt 添加到我的filetype.vim 文件中。
    • @sirlancelot 我认为这是修改filetype.vim的计数器。你应该把它添加到你的 .vimrc 中。
    • 我认为 ftplugin 文件应该使用setlocal 而不是set,这样设置就不会应用于所有打开的缓冲区。
    【解决方案2】:

    我猜:autocmd BufNewFile,BufRead *.txt set wrap 应该可以解决问题

    【讨论】:

      【解决方案3】:

      【讨论】:

        猜你喜欢
        • 2013-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-20
        • 1970-01-01
        • 2012-02-08
        相关资源
        最近更新 更多