- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想创建一个过滤器文件夹,最好在 .vim 中并且能够运行一个只有一个文件名的文本过滤器:!过滤器.pl
我设置了一个 Perl 文本过滤器来更改 LaTeX 数学公式中的所有特殊字符,到目前为止运行良好 - 唯一的问题是它在整行而不是选定的公式上运行,但我可以忍受它.. .
#!/usr/bin/perl -np
use strict;
use warnings;
# this filter transforms all special characters in Mathformular for LaTeX
s/\\/\\backslash /g;
s/([\$\#&%_{}])/\\$1/g;
但是调用这个过滤器很麻烦
: '<,'>!"/Users/username/Library/Mobile Documents/com~apple~CloudDocs/my_vim_cheat_sheet/perl_filter.pl"
Apple 在 iCloud 的路径中放置了一个空白区域,所以我必须在周围加上“”!我在哪里放置文本过滤器的集合?
谢谢你的回答
马可
最佳答案
您可以安全地创建一个与 Vim 本身不同的名称的子文件夹 (参见 :h 'rtp'
)。所以这没关系:
:*!$HOME/.vim/filters/perl_filter.pl
此外,Vim 还为通用过滤器提供了一个预定义接口(interface),称为“equalprg”。要使用它,只需设置一个全局-本地(即 set
和 setlocal
都有意义)选项 equalprg
到脚本的完全限定名称。然后打=
在可视模式下应用过滤器(或 ={motion}
在正常模式下)。 (阅读 :h 'equalprg'
:h =
)。
如果您同时需要多个过滤器,并切换 equalprg
不方便,您仍然可以尝试不同的选项来减少输入。
比如映射,比如
vnoremap <Leader>f :!/path/to/my/filter<CR>
然后点击\f
(或任何你的“领导者”键集)在可视模式下将导致执行 :'<,'>!/path/to/my/filter
(请注意,视觉选择将自动应用)。
另一种尝试是设置一个专用的环境变量(它将被包括shell在内的所有子进程继承。例如,
:let $filters = '~/.vim/filters'
:*!$filters/myfilter.pl
当然,你可以把那些set equalprg=...
vnoremap ...
let $filters=...
等等等等在你的 vimrc 中。
关于perl - .vim 文件夹中有存放文本过滤器的好地方吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57645348/
我有一个 Vagrant 盒子(ubuntu 16.04)用于开发,我做了几个apt install并在初始化后对配置文件(.ini、.cnf 等)进行了一些更改。现在,我对这个盒子和它的内容很满意。
我是一名优秀的程序员,十分优秀!