小编sim*_*ont的帖子

在行中替换最后一次出现

:%s/one/two/将取代第一的发生one有two.是否有一种简单的方法来替换最后一次出现?

我不能假设它在行尾的旁边,并且在最后一次出现"抢"使用时没有任何独特之处,类似于:

one two three one two three one two one two one two ...
Run Code Online (Sandbox Code Playgroud)

vim

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

tmux手册页搜索突出显示

当我在搜索,例如,man ls而在tmux会议上,搜索字符串不高亮显示-页面跳转下来,让搜索字符串是在缓冲区的顶部线条,符合市场预期,但它并不突出.

在不在tmux会话中的同一个shell中执行相同的操作会导致突出显示的搜索字符串.

我不知道从哪里开始寻求解决这个问题.任何提示都表示赞赏.

gnu-screen ansi-escape terminfo terminal-emulator tmux

29
推荐指数
3
解决办法
6121
查看次数

vim不允许退格

文件foo有文字:

This| is a line.
Run Code Online (Sandbox Code Playgroud)

如果我将光标放在|,跳到insert模式,然后按backspace,没有任何反应.如果我输入内容,我可以删除我输入的内容,但只能删回插入开始的位置.例如,如果我将光标放在行的末尾并键入word,我可以删除word但不能删除.它左边的任何内容.

这很烦人.这是什么vim设置?

vim

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

在使用curses的Python程序中,Setupterm找不到终端

我试图让一个简单的curses脚本使用Python运行(使用PyCharm 2.0).

这是我的脚本:

import curses
stdscr = curses.initscr()
curses.noecho()
curses.cbreak()
stdscr.keypad(1)
while 1:
    c = stdscr.getch()
    if c == ord('p'): print("I pressed p")
    elif c == ord('q'): break

curses.nocbreak(); stdscr.keypad(0); curses.echo()
curses.endwin()
Run Code Online (Sandbox Code Playgroud)

当我从我的IDE(PyCharm 2)运行它时,我收到以下错误:


_curses.error: setupterm: could not find terminal
Process finished with exit code 1

如果我从bash运行脚本,它将只是停留在while循环中,而不是按p或q作出反应.

任何帮助,将不胜感激.

python curses

26
推荐指数
3
解决办法
2万
查看次数

如何在ubuntu上安装git bash?

我是Ubuntu的新手.以前我在Windows上git bash用于git命令.但我决定使用Ubuntu和我安装,git但我不确定是否有必要git bash在Ubuntu 上安装?并且,如果有必要,我应该如何安装它?

git ubuntu

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

如何对多个文件进行拼写检查并在shell脚本中显示任何不正确的单词?

我有几个文件我想拼写检查.通常我会打开这些vim,运行:set spell并进行更改.然而,打开文件并手动检查自上次检查后我是否拼错了任何单词都是非常麻烦的.

有没有办法我可以对很多文件进行拼写检查,并显示找到的任何拼写错误的单词以及文件名,以便我可以更改它们?我不想打开每个文件,检查它是否"干净",然后打开下一个并重复.

我找不到任何POSIX拼写检查工具.一些基于Red Hat的Linux发行版据称有spell或类似,但我更喜欢跨平台(ish)方法.我知道vim 可以拼写检查 - 有没有任何方式拼写检查而不是手动完成所有操作?如果我可以编写解决方案的shell脚本,那就太棒了.

我正在奔跑OS X,因为它的价值.

linux macos vim bash

19
推荐指数
2
解决办法
6676
查看次数

克隆空的*bare*git存储库最简单的方法是什么?

我刚刚完成了谷歌搜索结果的巡航,其中包含所有关于git无法克隆空存储库的愚蠢行为的电子邮件.某种灵魂甚至提交了补丁.在git升级之前,克隆空的裸 git存储库的最简单,最直接的方法是什么?

理想的解决方案将支持为-o远程repo提供除名称以外的名称的选项origin,并且它可以作为简单的shell脚本实现,例如,git-clone-empty-repo.

(为什么我要这样做:我在我们的NetApp文件管理器上设置了一个空的,空的git repo,它将被备份,但是我想在我的本地硬盘驱动器上使用克隆并来回推拉与我合作的其他人也会这样做.我创建了很多新的git repos,我无法克隆一个空的回购让我发疯.)


编辑:VonC的线程表明

$ git-init
$ git-remote add origin server:/pub/git/test.git
Run Code Online (Sandbox Code Playgroud)

当repo为空时,相当于克隆远程仓库.这不是我想要的,因为我总是使用-ogit clone 的选项; 我根据它所使用的机器或其他一些令人难忘的标准命名远程仓库.(如果他们全部被叫,我有太多的回购,以保持他们的直线origin.)


编辑:以下答案将被标记为接受:-)

要在路径上克隆一个空的裸仓库,

  1. 保持~/git/onefile一个非裸git repo包含一个无害的文件,如.gitignore.(或者,动态创建这样的仓库.)
  2. (cd ~/git/onefile; git push 路径 master)
  3. git clone -o 名称 路径

换句话说,不要尝试克隆空仓库,而是在创建它之后,向它推送一个包含一个无害文件的简单仓库.然后它不再是空的,可以克隆.

如果有人没有打败我,我会发布一个shell脚本.

git clone git-bare

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

cmake"make run"

我对这个问题域中的术语有些不确定,这在我尝试搜索时遇到了问题.

我正在使用CMake进行构建过程.我想创建一个Makefile目标,以便我可以make run用来运行一个给定的进程(特别是我刚刚构建的进程make).我意识到我可以只创建一个shell脚本,或者只需输入命令就可以运行命令.如果我自己编写Makefile,我会这样做:


run:
    ./path/to/binary
Run Code Online (Sandbox Code Playgroud)

我不会写一个Makefile自己,但是 - 这是由cmake- 产生的- 我不知道该把什么放进CMakeLists.txt去让它产生所需的make run目标.

我找到了cmake命令' execute_process',但这似乎不是我所追求的 - 我不想在构建过程中实际运行任何东西.

额外:此外,我希望能够做以下事情:


CMAKE_COMMAND_ADD_MAKEFILE_TARGET ( ${CMAKE_PROJECT_DIR}/binary )
Run Code Online (Sandbox Code Playgroud)

也就是说path/to/binary,如果可能的话,添加使用cmake变量.

cmake

16
推荐指数
1
解决办法
9233
查看次数

在Vim中自动注释新行仅用于块注释

当我在.{cpp,h}文件中的单行注释结束时开始一个新行时,vim会自动对其进行注释.例如:

// This is a comment<CR>
// | <- Cursor is moved to `|`, `//` is automatically inserted. 
Run Code Online (Sandbox Code Playgroud)

我不确定这是插件还是设置.我看不到任何看起来像是在我这样做的东西,~/.vimrc下面列出了加载的插件.

我喜欢这种for- /* */style 多行注释,但我不希望我的单行注释默认在多行上运行.

哪个设置(或插件)可以执行此操作,是否可以仅为此注释类型将其关闭?

:scriptnames 给出这个:


  1: /Users/simont/.vimrc
  2: /usr/local/share/vim/vim73/syntax/syntax.vim
  3: /usr/local/share/vim/vim73/syntax/synload.vim
  4: /usr/local/share/vim/vim73/syntax/syncolor.vim
  5: /usr/local/share/vim/vim73/filetype.vim
  6: /usr/local/share/vim/vim73/ftplugin.vim
  7: /usr/local/share/vim/vim73/syntax/nosyntax.vim
  8: /Users/simont/repositories/config-files/vim/colors/solarized.vim
  9: /usr/local/share/vim/vim73/plugin/getscriptPlugin.vim
 10: /usr/local/share/vim/vim73/plugin/gzip.vim
 11: /usr/local/share/vim/vim73/plugin/matchparen.vim
 12: /usr/local/share/vim/vim73/plugin/netrwPlugin.vim
 13: /usr/local/share/vim/vim73/plugin/rrhelper.vim
 14: /usr/local/share/vim/vim73/plugin/spellfile.vim
 15: /usr/local/share/vim/vim73/plugin/tarPlugin.vim
 16: /usr/local/share/vim/vim73/plugin/tohtml.vim
 17: /usr/local/share/vim/vim73/plugin/vimballPlugin.vim
 18: /usr/local/share/vim/vim73/plugin/zipPlugin.vim
 19: /usr/local/share/vim/vim73/scripts.vim
 20: /usr/local/share/vim/vim73/ftplugin/vim.vim …
Run Code Online (Sandbox Code Playgroud)

vim comments autoformatting

16
推荐指数
2
解决办法
3448
查看次数

CMake可执行位置

我有一个非常简单的目录结构:

Project
Project/src
Project/build
Run Code Online (Sandbox Code Playgroud)

源文件在Project/src,我做了src外的内置Project/build.运行后cmake ../ ; make,我可以这样运行可执行文件:Project/build$ src/Executable- 即,Executable在build/src目录中创建.

如何在文件中设置可执行CMakeLists.txt文件的位置?我试图按照一些例子找到cmake.org,但是有效的链接似乎没有显示出这种行为.

我的Project/src/CMakeLists.txt文件列在这里.


include_directories(${SBSProject_SOURCE_DIR}/src)
link_directories(${SBSProject_BINARY_DIR}/src)

set ( SBSProject_SOURCES
    main.cpp
    )

add_executable( TIOBlobs ${SBSProject_SOURCES})
Run Code Online (Sandbox Code Playgroud)

而顶级Project/CMakeLists.txt:


cmake_minimum_required (VERSION 2.6)
project (SBSProject)

set (CMAKE_CXX_FLAGS "-g3 -Wall -O0") 

add_subdirectory(src)
Run Code Online (Sandbox Code Playgroud)

cmake

15
推荐指数
3
解决办法
3万
查看次数