vim中的寄存器是存储文本片段甚至对存储在其中的文本运行命令的一个很好的功能.但是,我是一个整洁的人,并在我完成后倾向于清理事情.
我知道如果我想清除注册a,我可以使用qaq.
我也可以执行以下命令:
:let @a = ''
Run Code Online (Sandbox Code Playgroud)
但是,这些解决方案似乎只是解决问题的方法.当我执行时:registers,列表仍然显示寄存器a(具有空值),而不显示从未使用过的寄存器.
有没有办法清除寄存器,从这个列表中删除寄存器的副作用?
如果是这样,是否还有一种方法可以立即清除所有寄存器,即重置寄存器列表?
是否有一个变体subprocess.call可以运行命令而不打印到标准输出,或阻止它的标准输出消息?
问题:你怎么告诉Ctrl+ rreverse-i-search"重置自己"并且每次都从历史的底部开始搜索?
背景:在Bash中使用reverse-i-search时,一旦完成搜索历史记录并且找不到更多匹配项,我总是卡住.有时我会Esc再次点击并重新调用Ctrl+ r,期望它从我的历史记录底部开始一个全新的搜索.然而,"指针"似乎仍然在我历史上的前一个地方.
问题是,我通常不希望这种行为.如果我点击Esc,然后重新调用Ctrl+ r,我希望它表明它应该再次从底部重新启动并重新启动.
更新:我想我应该提到我在Windows上使用Cygwin,因为到目前为止提到的解决方案都没有.
更新:此问题被标记为可能重复的问题.由于以下原因,此问题不重复:
是否可以创建一个包含自己的校验和(MD5,SHA1,无论如何)的文件?而对于沮丧的笑话,我的意思是普通的校验和,而不是计算它的函数.
我正在尝试替换MySQL字段中的一堆字符.我知道REPLACE函数,但一次只能替换一个字符串.我在手册中看不到任何适当的功能.
我可以一次更换或删除多个字符串吗?例如,我需要用破折号替换空格并删除其他标点符号.
Sublime Text中有时候我想在侧栏中显示当前文件,然后浏览文件夹结构.
这可以使用命令来实现reveal_in_side_bar,focus_side_bar但是它们必须绑定到两个单独的键组合,所以我必须做2个键盘组合来实现我的目标,理想情况下我只想一个(我很懒).
有没有办法将多个命令绑定到单个组合键?例如:
{
"keys": ["alt+shift+l"],
"commands": ["reveal_in_side_bar", "focus_side_bar"]
},
Run Code Online (Sandbox Code Playgroud)
基于@ artem-ivanyk和@d_rail的答案
1)工具→新插件
import sublime, sublime_plugin
class RevealInSideBarAndFocusCommand(sublime_plugin.WindowCommand):
def run(self):
self.window.run_command("reveal_in_side_bar")
self.window.run_command("focus_side_bar")
Run Code Online (Sandbox Code Playgroud)
保存为RevealInSideBarAndFocus.py
2)Sublime Text 2→首选项→键绑定 - 用户
将它绑定到快捷方式:
{ "keys": ["alt+shift+l"], "command": "reveal_in_side_bar_and_focus" }
Run Code Online (Sandbox Code Playgroud) 比方说我有:
action = '{bond}, {james} {bond}'.format(bond='bond', james='james')
Run Code Online (Sandbox Code Playgroud)
这个输出:
'bond, james bond'
Run Code Online (Sandbox Code Playgroud)
接下来我们有:
action = '{bond}, {james} {bond}'.format(bond='bond')
Run Code Online (Sandbox Code Playgroud)
这将输出:
KeyError: 'james'
Run Code Online (Sandbox Code Playgroud)
是否有一些解决方法可以防止此错误发生,例如:
我开始收到这条消息.无论我编辑和尝试提交什么,它都说没有什么可以提交的.看起来git没有看到我的工作目录并且正在寻找其他地方.
如果我运行git status它输出相同:
nothing to commit (working directory clean)
Run Code Online (Sandbox Code Playgroud)
如果我创建新分支并编辑某些内容,则会发生同样的事情.当我需要修复合并冲突时,这种情况就开始发生了.当我想将我的一个分支与主分支合并时,我不得不手动修复它,我需要我的文件看起来与该分支一样覆盖主分支那些相同的文件.所以我添加了这些文件,让我合并它.但是无论我改变什么,它表明没有什么可以提交.
这可以做什么?
拥有此处文档的最佳方式是什么,顶部和底部没有换行符?例如:
print '''
dog
cat
'''
Run Code Online (Sandbox Code Playgroud)
将在顶部和底部有换行符,为了摆脱它们,我必须这样做:
print '''dog
cat'''
Run Code Online (Sandbox Code Playgroud)
我发现它的可读性要低得多.
python ×3
string ×3
bash ×1
checksum ×1
cygwin ×1
defaultdict ×1
directory ×1
git ×1
git-commit ×1
heredoc ×1
linq ×1
missing-data ×1
mysql ×1
php ×1
printing ×1
readline ×1
replace ×1
security ×1
silent ×1
sql ×1
sublimetext ×1
subprocess ×1
vim ×1