小编rom*_*inl的帖子

如何使用管道在vim中打开文件

locate非常频繁地使用该命令。

因此,如果我运行以下命令。

locate updatedb | head -1
Run Code Online (Sandbox Code Playgroud)

然后它给了我 O/p

/usr/updatedb.conf
Run Code Online (Sandbox Code Playgroud)

我想知道有没有这样的命令可以让我直接打开那个文件?

我希望有这样的事情。

locate updatedb | head -1 | vim
Run Code Online (Sandbox Code Playgroud)

linux bash vim locate pipe

17
推荐指数
3
解决办法
6510
查看次数

无法在 Ubuntu 上安装 neovim v0.8.0+

我无法安装neovim 0.8.0+KDE neon基于ubuntu)。我neovim 0.8+需要LunarVimapt下一个说:

\n
\xe2\x9e\x9c  ~ LV_BRANCH=\'release-1.2/neovim-0.8\' bash <(curl -s https://raw.githubusercontent.com/lunarvim/lunarvim/master/utils/installer/install.sh)\n\n      88\\                                                   88\\\n      88 |                                                  \\__|\n      88 |88\\   88\\ 888888$\\   888888\\   888888\\ 88\\    88\\ 88\\ 888888\\8888\\\n      88 |88 |  88 |88  __88\\  \\____88\\ 88  __88\\\\88\\  88  |88 |88  _88  _88\\\n      88 |88 |  88 |88 |  88 | 888888$ |88 |  \\__|\\88\\88  / 88 |88 / 88 / 88 |\n      88 |88 |  88 |88 |  88 …
Run Code Online (Sandbox Code Playgroud)

kde ubuntu apt neovim

8
推荐指数
1
解决办法
2万
查看次数

bash:每个命令的历史记录。它是如何工作的?

好的。我家里有一台运行 Leopard 的旧 G5 和一台运行 Ubuntu 10.04 的戴尔,还有一台 MacPro 在工作时也运行 Leopard。

我经常使用 Terminal.app/bash。在我的家用 G5 上,它展示了一个很好的功能:使用?导航历史记录我得到最后一个命令,以我输入的几个字母开头。

这就是我的意思(|代表插入符号):

$ ssh user@server
$ vim /some/file/just/to/populate/history
$ ss|
Run Code Online (Sandbox Code Playgroud)

所以,我输入了“ssh”的两个首字母,?结果如下:

$ ssh user@server
Run Code Online (Sandbox Code Playgroud)

而不是这个,这是我在其他地方得到的行为:

$ vim /some/file/just/to/populate/history
Run Code Online (Sandbox Code Playgroud)

如果我继续点击??,我可以浏览这样的历史ssh

$ ssh otheruser@otherserver
$ ssh user@server
$ ssh yetanotheruser@yetanotherserver
Run Code Online (Sandbox Code Playgroud)

它适用于任何命令,例如catvim或其他任何命令。

这太酷了。除了我不知道如何在我的其他机器上模仿这种行为。

这是我的.profile

export PATH=/Developer/SDKs/flex_sdk_3.4/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/sw/bin:/sw/sbin:/bin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:$HOME/Applications/bin:/usr/X11R6/bin
export MANPATH=/usr/local/share/man:/usr/local/man:opt/local/man:sw/share/man
export INFO=/usr/local/share/info
export PERL5LIB=/opt/local/lib/perl5
export PYTHONPATH=/opt/local/bin/python2.7
export EDITOR=/opt/local/bin/vim
export VISUAL=/opt/local/bin/vim
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home

export …
Run Code Online (Sandbox Code Playgroud)

terminal bash history macos

7
推荐指数
1
解决办法
912
查看次数

vifm:如何设置右侧窗口以查看左侧窗口中突出显示的目录或文件的内容

如何设置右侧窗口以查看左侧窗口中突出显示的目录或文件的内容vifm?(就像在ranger

file-management

7
推荐指数
1
解决办法
7237
查看次数

如何简单地用任意数量的新单词替换我在 Vim 中所做的视觉模式选择?

今天,我在排队,需要替换几个词来澄清一个想法,如下所示:

Superuser is THIS IS THE TEXT I WANT TO REPLACE awesome.
Run Code Online (Sandbox Code Playgroud)

然而,在视觉选择之后,作为新手,我按下 r 并输入我想要的替换文本:

Superuser is aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa awesome.
Run Code Online (Sandbox Code Playgroud)

呃哦!它完全用我想要替换的预期文本的第一个字母替换了我视觉选择的每个字符位置。修改器也许有帮助吗?移R?没有。是什么赋予了?

vim

7
推荐指数
1
解决办法
1万
查看次数

NeoVim coc.nvim Enter 键无法自动完成

最近我将 NeoVim 配置文件从vim 脚本重写为lua,一切工作正常,但我有一个问题。当我使用 coc.nvim 进行自动完成并选择某些内容并按 Enter 时,NeoVim 会创建一个新行并且不会自动完成。我在那里找到了解决方案,但仅限于Vim 脚本我怎样才能在 NeoVim Lua 中做到这一点?

inoremap <expr> <CR> pumvisible() ? "\<C-Y>" : "\<CR>"
Run Code Online (Sandbox Code Playgroud)

autocomplete neovim

5
推荐指数
1
解决办法
1万
查看次数

Vim - 向后连接而不是向前连接

我有一个文件,说

Hello A, b, c, d,
Hello A, b, c, d,
Hello A, b, c, 
d,
Hello A, b, c, d,
Hello A, b, c, 
d,
Hello A, b, c, d,
Hello A, b, c, d,
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像

Hello A, b, c, d,
Hello A, b, c, d,
Hello A, b, c, d,
Hello A, b, c, d,
Hello A, b, c, d,
Hello A, b, c, d,
Run Code Online (Sandbox Code Playgroud)

所以我可能会运行该命令:g/^d/j,这将连接这些行 - 但它将匹配的行连接到后面的行 - 我想将匹配的行连接到之前的行 - 我该怎么做?

vim

4
推荐指数
1
解决办法
1086
查看次数

vimscript 在命令模式下删除整行或单词 (q:)

我试图弄清楚如何在命令模式下删除整行。我看到很多 .vimrc 示例:

cnoremap <C-a>  <Home>
cnoremap <C-b>  <Left>
cnoremap <C-f>  <Right>
cnoremap <C-d>  <Delete>
cnoremap <M-b>  <S-Left>
cnoremap <M-f>  <S-Right>
" This doesn't delete a word as I'd expect
cnoremap <M-d>  <S-Right><Delete>
Run Code Online (Sandbox Code Playgroud)

所有这些都按预期工作,但<M-d>. 我希望确实删除整个单词,但它只是跳到末尾并删除单个字符。有一个<Delete Word>或 吗<Delete Line>

vim command-line vimrc

3
推荐指数
1
解决办法
1197
查看次数

在 vim 中突出显示 nbsp \xA0

我的 vimrc 中有一些模式来匹配文件中的奇怪字符,例如制表符、大引号、破折号等。

\n\n
" Highlight various difficult-to-see problems\n:match Error / \\t/\n:match Error /\xe2\x80\x93/\n...\n
Run Code Online (Sandbox Code Playgroud)\n\n

\\xA0如何向此列表添加 ASCII 不间断空格?

\n\n

当我做一些比较时,我在文件中遇到了这些 nbsps 之一,我不确定它是如何进入那里的,但我必须使用十六进制编辑器来查看发生了什么。

\n\n

同样,在图像中,您可以看到这显示为空间,而不是空间。

\n\n

nbsp 影响亮点

\n

vim whitespace

3
推荐指数
1
解决办法
1177
查看次数

如何在 Vim 中“重用”正则表达式查找和替换

我有一个带有条目的纯文本文件

firstAuthorLastName_titleFirstWord_YYYY
Run Code Online (Sandbox Code Playgroud)

我改成

firstAuthorLastNameYYYYtitleFirstWord
Run Code Online (Sandbox Code Playgroud)

s//在 Vim 中使用以下命令。^[1]

%s/\([a-z]\+\)_\([a-z]\+\)_\([0-9]\{4}\)/\1\3\2/g
Run Code Online (Sandbox Code Playgroud)

但我想一遍又一遍地执行这个命令。看来,我应该能够与Windows批处理脚本,并在为此-c标志gvim.exe。但我无法让它工作。

我有一个包含以下内容的 Windows 批处理脚本。

gvim -c "%s/\([a-z]\+\)_\([a-z]\+\)_\([0-9]\{4}\)/\1\3\2/g" herron.bib
Run Code Online (Sandbox Code Playgroud)

但我收到了消息E486: Pattern not found: \([a-z]\+\)_\([a-z]\+\)_\([0-9]\{4}\)。有没有办法重用/自动化这个s//命令?我知道我可以通过我的前命令历史向上箭头,但我想要一些更持久和可靠的东西。

[^1] FWIW,这是我从Zotero导出的 BibTeX .bib 文件。再往下游,我使用vim-pandocMarkdown写笔记。下划线使使用 vim-pandoc“整洁”功能变得更加困难,因此我将其删除。我每周更新 .bib 几次并从 Zotero 重新导出它,所以我还需要每周运行几次这个正则表达式。

vim regex batch command-line

2
推荐指数
1
解决办法
1791
查看次数

Vim 搜索和替换

我有一个文件,其中包含我从一些代码粘贴的看起来像这样的 SQL 语句。有人可以告诉我将+ "值更改为空白或空值的搜索/替换命令吗?

我尝试了各种组合,但似乎没有任何效果

:%s\x ",,

  " select"
+ " col1 "
+ " col1 "
+ " col1 "
+ " col1 "
+ " from table"
Run Code Online (Sandbox Code Playgroud)

vim

0
推荐指数
1
解决办法
206
查看次数