gpt4 book ai didi

perl - VIM 9 Perl 文件的字边界更改

转载 作者:行者123 更新时间:2023-12-05 09:26:32 25 4
gpt4 key购买 nike

在 vim 8 中,如果你有以下字符串:

package Some::Package::Name;

然后您将光标放在 Some::Package::Name 中的 S 上并执行 cw 它将替换文本 Some 与你输入的任何内容。

在 vim 9 中,cw 现在从 S 更改为 Name 中的 e

这种行为可能是由于

/usr/share/vim/vim90/syntax/perl.vim  

肌肉内存很难改变,如果我能恢复到 Vim8 的行为,我会更愿意。我查看了上面的语法文件,但完全不知道如何更改它。

有谁知道如何在我的 vimrc 中覆盖此更改?

我的 .vimrc 在 vi​​m8 和 vim9 之间保持不变。具有以下 perl 相关部分:

au BufRead,BufNewFile *.pm set filetype=perl
au BufRead,BufNewFile *.t set filetype=perl
let g:ale_perl_perl_executable = '/opt/perl/bin/perl'
let g:ale_perl_perl_options = '-c -Mwarnings -Ilib -I/opt/perl/lib'
let b:ale_linters = { 'perl': [ 'perl' ] }
let g:ale_sign_column_always = 1

最佳答案

不,内置语法脚本与此无关。

这是内置的文件类型插件:

$VIMRUNTIME/ftplugin/perl.vim

: 添加到 :help 'iskeyword',这是告诉 Vim 的选项,除其他外,下一个“单词”从哪里开始:

setlocal iskeyword+=:

简而言之,它告诉 Vim : 是当前单词的一部分,所以 cw 跳过它,因为它不再被视为分隔符。

显然添加了该设置 9 years ago .

如果你不想要它,你可以创建这个文件:

~/.vim/after/ftplugin/perl.vim

具有此内容:

setlocal iskeyword-=:

它是在内置文件类型插件之后获取的,因此会覆盖您在其中设置的任何选项。

关于perl - VIM 9 Perl 文件的字边界更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73818442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com