Articles of 控制台

在Vim(德语键盘)中重新映射一个密钥

好吧,我一直在尝试Vim(标准控制台版本;我的操作系统是Linux Mint 13),我想摆脱必须使用Escape键来改变模式。 最好,我想交换Capslock和Escape键,但据我所知,在Vim本身中是不可能的。 我发现的大多数“解决scheme”都涉及在全球范围内(使用xmodmap或其他)更改密钥,但我并不是那么想。 如果只有在Vim中有一个简单的方法来换Capslock和Escape,请告诉我。 我听说的另一个常见的事情是使用“Ctrl- [”作为等同于Escape。 但是,因为我正在使用具有不同布局的德语键盘,所以这不是一个选项。 所以,我以为我会在Vim中使用noremap <C-ü> <Esc> (德国键盘上的“ü”键与美式键盘上的“[”键在同一位置),但是没有工作,要么。 我假设这是因为“ü”不是一个ASCII字符。 有没有办法让这些选项中的任何一个工作? 更新 :好吧,这很奇怪。 更多的实验后,似乎“Ctrl-ü”确实工作。 我不知道发生了什么 – 也许我尝试了不同的东西,搞砸了一些编码相关的设置? 如果没有好的解决scheme来重新映射capslock,我想我会坚持使用“Ctrl-ü”。

如何在控制台应用程序中创build命令历史?

我想做交互式控制台应用程序,它允许在循环中input命令。 例如,用户键入“search”,程序find一些数据并将其打印在屏幕上。 然后程序等待下一个命令(可以是search,退出或其他)。 为了方便用户,我希望我的程序支持命令历史logging(如在terminal中,当按下键盘上的上下箭头时)。 但我不知道如何做到这一点,因为我不知道如何打印可以通过scanf,std :: getline,std :: cin等进一步阅读的文本。 所以编码std::cin << "hello"; 没有被编译(不匹配'std :: cin <<“hello”')中的'operator <<')。 函数fprintf(stdin, "hello"); 什么都不打印,scanf不能读这个打印的信息。 很明显, std::getline(std::cin, str); 和scanf("%s", s); 并gets(s)等无法读取由printf或std::out输出的文本。 所以问题是:我怎样才能在控制台上打印文本,也将在stdin ( std::cin )? 或者也许有更优雅的方式来组织命令历史? PS我也想过模拟按键来打印我需要的文字,但是我希望有更好的方法来制作指令历史 PPS我使用Linux和C ++

回去在Linux控制台中的一条线?

我知道我可以回去,并用\r覆盖它的内容。 现在我怎么能进入前一行来改变呢? 还是有甚至有一种方法来打印到控制台窗口中的特定光标位置? 我的目标是用PHP创build一些自我刷新的多线控制台应用程序。

如何检查Linux控制台屏幕保护程序是否有空白屏幕

有没有办法通过编程(通过ioctl()等)或通过读取/ sys,/ proc或/ dev中的文件检查屏幕是否被Linux控制台屏幕保护程序清空? 感谢和最好的问候, 冈特

fork()和STDOUT / STDERR从subprocess到控制台

我正在写一个程序,分叉多个subprocess,我希望所有这些subprocess能够写入STDERR和STDOUT行,而不会输出乱码。 我没有做任何奇怪的事情,只是发出以新行结束的行(至less在我的理解中是Linux的primefaces操作)。 从perlfaq它说: 主进程和后台进程(“subprocess”)共​​享相同的STDIN,STDOUT和STDERR文件句柄。 如果同时尝试访问它们,可能会发生奇怪的事情。 您可能想要closures或重新打开这些孩子。 您可以通过打开pipe道来解决这个问题(请参阅open),但在某些系统上,这意味着subprocess无法与父进程相比。 它说我应该“closures或重新打开”这些孩子的文件句柄。 closures很简单,但是“重新打开”是什么意思? 我从我的subprocess中尝试过这样的东西,它不起作用(输出仍然是乱码): open(SAVED_STDERR, '>&', \*STDERR) or die "Could not create copy of STDERR: $!"; close(STDERR); # re-open STDERR open(STDERR, '>&SAVED_STDERR') or die "Could not re-open STDERR: $!"; 那么,我在做什么错呢? 它会暗示的pipe道示例是什么样的? 有没有更好的方法来协调来自多个进程的输出到控制台?

Bash按正则expression式sorting

我有以下语法的大约100个文件的东西 ahfsdjfhdfhj_EPI_34_fdsafasdf asdfasdf_EPI_2_fdsf hfdjh_EPI_8_dhfffffffffff ffffffffffasdfsdf_EPI_1_fyyy44 … 总是有EPI_NUMBER。 我怎样才能通过这个数字来分类?

Linux将控制台输出附加到日志文件?

我知道我可以让Linux通过执行以下操作将控制台输出写入日志文件: command > logfile.log 但是这会覆盖之前在日志文件中的任何内容。 我如何使输出附加到日志文件,而不是覆盖它?

C ++控制台进度指示器

实现正在执行的任务的基于控制台的进度指示器的简单方法是什么,但我无法预测需要多less时间? 当我在Clipper中编写代码的时候,我曾经这样做过,只不过是遍历字符'/',' – ','\','|' 并把它们放在同一个地方。 任何方式/链接/库在C ++中做的(或类似的)? 目标是* nix环境。 编辑: 标题更加连贯和通用; 增加目标环境。

如何在不使用ncurses的情况下在linuxterminal上设置terminal背景颜色?

我用C编写了一个简单的控制台程序,它使用ANSI转义代码对文本进行着色。 有没有办法将整个terminal的背景临时设置为黑色,默认的字体颜色为浅灰色? 程序结束后可以恢复吗? 我宁愿避免使用ncurses。

我怎样才能列出Linux上的命令行(控制台模式)upnp服务器/渲染器?

我想在控制台模式下在本地networking上列出可用的upnp / dlna渲染器。 我可以用gupnp来做,但不能在控制台模式下