小编kev*_*kev的帖子

如何在设置列表时保持SpecialKey的fgcolor

我这样配置_vimrc文件:

hi CursorLine   guibg=#DDDDDD

hi SpecialKey   guifg=#d8a080   gui=italic

set listchars=tab:»\ ,trail:·,extends:»,precedes:«,eol:¶

set CursorLine

set list
Run Code Online (Sandbox Code Playgroud)

当我移动光标时,当前行的SpecialKeysfgcolor变为黑色!

我怎么能保留它们#d8a080斜体

非常感谢你!

vim

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

如何只编写一个模式来在vim中以双向方式交换两个字符串

xxx <=> zzz


原文:

xxxyyyzzz

运行命令:

:s/???/???/

它成为了:

zzzyyyxxx

运行上面的相同命令:

:s/???/???/

回到原文:

xxxyyyzzz


就像切换案例(〜)

aBCdeFg <=> AbcDEfG

vim

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

为什么:帮助忽略:在.vimrc中设置数字?

:set number~/.vimrc显示行号.当我键入:help以查看文档时,行号不会显示在新窗口中.

如果我输入:setl number?,则会打印出来nonumber.如果键入:setg number?,则打印number.

我想知道为什么~/.vimrc不起作用.哪个脚本重置本地number选项?我已经检查了$VIMRUNTIME/ftplugin/help.vim,但它没有重置number.


目前,我正在使用:

if has('autocmd')
    auto FileType help set number
endif
Run Code Online (Sandbox Code Playgroud)

谢谢.

vim ubuntu-12.04

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

为什么在[[...]]之间不执行引用删除?

$ man bash
Run Code Online (Sandbox Code Playgroud)

不对'[['和']]'之间的单词执行单词拆分和文件名扩展; 执行波形扩展,参数和变量扩展,算术扩展,命令替换,进程替换和引用删除.

$ echo $BASH_VERSION
4.2.10(1)-release
Run Code Online (Sandbox Code Playgroud)

命令1

$ [[ "hello" =~ "he"   ]] && echo YES || echo NO
YES
Run Code Online (Sandbox Code Playgroud)

命令2

$ [[ "hello" =~  he.*  ]] && echo YES || echo NO
YES
Run Code Online (Sandbox Code Playgroud)

命令3

$ [[ "hello" =~ "he.*" ]] && echo YES || echo NO
NO
Run Code Online (Sandbox Code Playgroud)

为什么命令2和3不同?

bash

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

如何包含 template.txt 作为脚本的此处文档

我有一个模板文件(template.txt):

\n\n
Hello, $x\nHello, $y\n
Run Code Online (Sandbox Code Playgroud)\n\n

我有一个脚本文件(script.sh):

\n\n
#!/bin/bash\n$x=linux\n$y=unix\n# I want to include template.txt as a here-doc\n
Run Code Online (Sandbox Code Playgroud)\n\n

如何包含template.txthere-docof script.sh.
\n这样,当我运行时script.sh,输出应该是:

\n\n
Hello, linux\nHello, unix\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n\n

编辑:

\n\n

我认为replace这对于我的工作来说是一个很好的命令\xef\xbc\x9a

\n\n
$ cat template.txt | replace '$x' linux '$y' unix\n
Run Code Online (Sandbox Code Playgroud)\n\n

更复杂的工具:

\n\n
$ cheetah compile template.tmpl\n$ x=linux y=unix python template.py --env\n
Run Code Online (Sandbox Code Playgroud)\n

bash

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

BASH - 从文本文件中读取多行

我正在尝试读取一个文本文件,例如 file.txt,它包含多行。

说输出file.txt

$ cat file.txt
this is line 1

this is line 2

this is line 3
Run Code Online (Sandbox Code Playgroud)

我想将整个输出存储为变量,例如$text.
当变量$text被回显时,预期输出为:

this is line 1 this is line 2 this is line 3
Run Code Online (Sandbox Code Playgroud)

我的代码如下

while read line
do
    test="${LINE}"
done < file.txt

echo $test
Run Code Online (Sandbox Code Playgroud)

我得到的输出始终只是最后一行。有没有一种方法可以将 file.txt 中的多行连接为一个长字符串?

bash text concatenation

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

在Windows上设置gVim

我试图让gVim在Windows 7机器上工作,并且遇到以下问题:

  • 每当我尝试更改_vimrc文件时,我都会收到一条消息,说我无权保存在此位置.这是我的家用电脑顺便说一句.

  • 我似乎无法更改保存我编辑的文件的目录.目前他们都被保存到我的桌面.我尝试过:将dir = path设置为我要保存的位置......但没有成功.

我想通过vimtutor; 但是,每当我将vimtutor键入cmd时,vim会打开一秒钟然后关闭.

如何更改_vimrc文件以及如何为编辑的文件设置目标?

permissions vim windows-7

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

如何快速切换到另一个标签页中的上一个窗口?

我非常喜欢Ctrl-OCtrl-I前后跳跃.
如果我打开fileA,则使用:tabe fileB在新标签页中打开另一个文件.
在第二个标签页中,我键入Ctrl-O以跳回上一个位置.
Vim只是fileA在当前窗口中显示而不是切换到第一个标签页.
现在我有两个tabpages显示相同的文件.这不是我想要的.
我可以使用:drop fileA,但我需要提供全名.这还不够好.
是否有一些很好的方法来切换windows cross tabpages?

vim

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

如何仅在vim中突出显示的文本上进行替换?

在进行替换之前,我通常先键入/foo以搜索模式.
Vim自动突出显示符合模式的所有字符串.
然后我弄清楚如何编写替换命令:%s/foo/bar/g.
当模式很复杂时,编写替换命令要比搜索命令困难得多.
如果我只能在突出显示的字符串上进行替换.变得容易.

例如:

问题:翻译部分行
我可以找出搜索模式: 但我无法轻易找出替换命令./\[\[\(http\)\@!.\{-}\]\]

vim

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

如何让段落包含shell脚本中的关键词?

我想得到包含关键词的整段.

例如,以下是输出 "ifconfig -a"

bond0     Link encap:Ethernet  HWaddr 00:11:3F:C1:47:98  
          inet6 addr: fe80::211:3fff:fec1:4798/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:1881856 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1059020 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2618747813 (2.4 GiB)  TX bytes:182058226 (173.6 MiB)

bond0:oam Link encap:Ethernet  HWaddr 00:11:3F:C1:47:98  
          inet addr:135.2.156.97  Bcast:135.2.156.111  Mask:255.255.255.240
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1

bond0:oamA Link encap:Ethernet  HWaddr 00:11:3F:C1:47:98  
          inet addr:135.2.156.103  Bcast:135.2.156.111  Mask:255.255.255.240
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
Run Code Online (Sandbox Code Playgroud)

我想用粗体提取段落.也就是说,该段落包含"bond0:oamA" 我知道的关键词,如果我使用grep,只使用行

bond0:oamA Link encap:Ethernet …
Run Code Online (Sandbox Code Playgroud)

shell awk grep cut

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

标签 统计

vim ×6

bash ×3

awk ×1

concatenation ×1

cut ×1

grep ×1

permissions ×1

shell ×1

text ×1

ubuntu-12.04 ×1

windows-7 ×1