标签: xterm

Emacs,xterm,mousepad,C,Unicode和UTF-8:试图弄清楚这一切

免责声明:我对下面的所有文本表示道歉(对于一个简单的问题),但我真诚地认为每一点信息都与这个问题有关.我很乐意另外学习.我只能希望,如果成功,问题和答案可能会帮助其他人疯狂.开始.

我已经阅读了所有通常备受推崇的关于utf8的网站,特别是这个非常适合我的目的,但我也读过经典,就像SO中其他类似问题中提到的那样.但是,我仍然缺乏如何在虚拟实验室中集成它的知识.我用Emacs

;; Internationalization
(prefer-coding-system 'utf-8)
(setq locale-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
Run Code Online (Sandbox Code Playgroud)

在我的.emacs中,xterm以

 LC_CTYPE=en_US.UTF-8 xterm -geometry 91x58\
-fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1'
Run Code Online (Sandbox Code Playgroud)

我的语言环境如下:

LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)

我的问题如下(一些答案可能是应用程序的预期行为,但我仍然需要理解它,所以请耐心等待):

假设以下C程序:

#include <stdio.h>

int main(void) {
  int c;
  while((c=getc(stdin))!=EOF) {
    if(c!='\n') {
      printf("Character: %c, Integer: %d\n", c, c);
    }
  }
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果我在我的xterm中运行它,我得到:

€
Character: ? Integer: 226
Character: ?, Integer: 130
Character: ?, Integer: 172
Run Code Online (Sandbox Code Playgroud)

(以防万一我得到的字符是黑色圆圈内的白色问号).int是编码€所需的3个字节的十进制表示,但我不确定为什么xterm不能正确显示它们.

相反,Mousepad,例如,打印 …

c unicode emacs xterm utf-8

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

通过putty在vim中映射鼠标事件不起作用

我正在使用Vim 6.3.81在x-term中通过腻子.我想使用我的.vimrc将鼠标事件(如滚轮按钮单击,双击)映射到特定事件.我查看了vim wiki并在此基础上,在我的.vimrc中定义了以下地图:

:nnoremap <2-LeftMouse> :set invnumber<CR>
Run Code Online (Sandbox Code Playgroud)

但是,它不起作用 - 双击不会按预期切换行号.我是否必须更改我的X设置才能让vim接受鼠标事件?

谢谢...

vim mouse map xterm

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

将文本从在xterm中运行的Vim 7.2复制到Windows剪贴板

我正在使用Vim 7.2,使用+ xterm_clipboard编译,在xterm中通过putty.我已经放入set clipboard=unnamed了.vimrc,从我在其他线程中读到的内容,这应该将所有的yanks/deletes放到系统剪贴板中.然而,当我试图粘贴我已经被抓到像记事本这样的MS应用程序时,它无法正常工作.

当我使用鼠标在vim中选择文本时,它会自动复制到系统(MS剪贴板).我想在使用像3yy这样的键盘命令时拥有相同的功能.

谁能告诉我我做错了什么?

vim clipboard putty copy-paste xterm

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

如何在Mac X11 xterm中启用粘贴键盘快捷键?

在我的mbp上,我在X11下打开xterm,我想从剪贴板粘贴.但是,命令+ v不起作用,甚至没有来自编辑菜单的选项.这不可能吗?如果是,我该如何启用它?

x11 macos xterm

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

Cygwin将文本重新包装到同一行,导致文本被覆盖

我在我的Windows 7机器上安装了cygwin,我遇到了一个问题,当我键入命令时,它偶尔会被包回到同一行,删除bash提示符.这是一个例子:

包装示例

有问题的命令是命令"201"(从底部开始的4行).我把其他人包括在内.

我输入的命令的文本是

git commit -m "Forced LF line endings."

(注意:我发布的主要是git命令,但任何命令都会出现问题.我还没有注意到模式.)

它跳到了行开头并开始覆盖我的提示.

当我按下向上箭头(查看历史记录)时,结果甚至更奇怪:

在此输入图像描述

(注意光标是命令末尾的许多字符.) 当我尝试从该位置退格光标时,我只能回到这一步:

在此输入图像描述

然后当我从那个退格线进入历史时,我得到了这个:

在此输入图像描述

该命令从显示的文本末尾开始.(这对于整个历史是一致的)但是当我在历史记录中出现错误时,git commit ...它会像以前一样显示覆盖的文本但是当我经过它时,它会删除提示行并显示上一个条目历史与以前一样(图像2).

当我创建我的PS1变量时,我有这样的奇数输出,但我已经关闭了我的括号和东西,并且不认为这导致了问题.但是,如果你想看到我的.bash_profile(设置PS1)随意在GitHub上看到它.它真的很短.

我已经尝试过搜索这个问题,并且只能在xterm中找到一些有关换行的cygwin电子邮件档案,但没有解决方案.

PS:当我推动最新版本时.bash_profile,为了链接它,当我键入git add .bash_profile并按Enter键时,我再次遇到问题,它运行命令但是将光标返回到相同命令的开头而不是打印新提示.然后,当我写另一个提交行时,它的作用与第一个图像相同,但是它会使行的其余部分变黑(它包裹了行,但覆盖了整行,而不仅仅是前几个字符.)

bash cygwin xterm

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

Vim:映射ctrl + pgup和ctrl + pgdn(CTRL + Page Up/Down)组合键

我正在尝试将Vim命令映射到ctrl+pgupctrl+pgdn组合键.这些键vim的语法不工作(即<PageUp><PageDown>,或<C-PageUp><C-PageDown>).

由于默认的vim语法是不行的,我猜,终端不发送的字符代码ctrl+pgupctrl+pgdn即Vim期待.如果这是真的,我不知道如何找出文字键码是什么.我在Arch Linux上使用xfce4-terminal.

这是我尝试过的:

  1. 通常的方法:

    map <C-PageUp> :bp<cr>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用此答案的方法从命令行设置它:为什么<C-PageUp>和<C-PageDown>在vim中不起作用?

    :map <CTRL-V><CTRL-PAGEUP> :bp<cr>
    
    Run Code Online (Sandbox Code Playgroud)

    当我在命令行中键入上面的命令时,没有显示:

    map  :bp<cr>
    
    Run Code Online (Sandbox Code Playgroud)

    而Vim说No mapping found.

  3. 来自Vim wiki的这个方法:http ://vim.wikia.com/wiki/Mapping_keys_in_Vim_- Tutorial(Part_2)#Key_notation

    set <PageUp>=<type Ctrl-V><type PageUp> "^[[5~
    map <C-PageUp> :bp<cr>
    
    Run Code Online (Sandbox Code Playgroud)
  4. 对答案的修改:

    set <C-PageUp>=<type Ctrl-V><type Ctrl+PageUp> "^M
    map <C-PageUp> :bp<cr>
    
    Run Code Online (Sandbox Code Playgroud)
  5. 在意识到这<type *>是一个用户命令后,我做了这些命令,并且vim粘贴了输出.我<type *>用这个输出替换了:

    set <PageUp>=^[[5~
    map <C-PageUp> :bp<cr>
    " Also:
    set <PageUp>=[[5~
    map <C-PageUp> :bp<cr>
    " …
    Run Code Online (Sandbox Code Playgroud)

linux vim terminal xterm key-bindings

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

tk嵌入式xterm的大小如何是动态的?

可以编写一个简单的python脚本来嵌入xtermtk框架中:

from Tkinter import *
import subprocess

root = Tk()
termf = Frame(root, height=800, width=1000)

termf.pack(fill=BOTH, expand=YES)
wid = termf.winfo_id()
Run Code Online (Sandbox Code Playgroud)

窗口建立后

proc = subprocess.Popen('xterm -into %d -sb ' % wid,shell=True)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)

在我的电脑上看起来像 嵌入式xtermtermf即使调整框架大小(通过拖动角落), 如何使嵌入式xterm动态调整大小到框架的大小?

python tkinter xterm

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

telneting退格键是错误的

当我远程登录我们的工作太阳站时,我的退格键不起作用.我使用临时解决方法:

$ stty erase ^ H.

这工作但每次我telnet我必须重新键入此.如何在我的.cshrc文件中将其设置为正常工作?

keyboard solaris telnet xterm

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

使用 xterm 在 .vimrc 中映射 Alt+umlaut 不起作用

以下映射不起作用:

\n\n
noremap <A-\xc3\xb6> :do something\n
Run Code Online (Sandbox Code Playgroud)\n\n

我使用 xterm(在 Ubuntu 上)和映射,就像<A-j>工作一样。单独进行映射\xc3\xb6是可能的,但同样<C-\xc3\xb6>是行不通的。

\n\n

我尝试过的:

\n\n
    \n
  • 添加set encoding=utf-8在 .vimrc 的开头
  • \n
  • noremap <M-\xc3\xb6>
  • \n
\n\n

Ctrl在插入模式下 + 后接 + 将打印 \xc3 \ vxb6 Alt\xc3\xb6

\n\n

有没有办法来解决这个问题?

\n

vim xterm

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

重定向无法正常工作,2>/dev/null变为2>/dev/null并且stderr未被重定向

我希望有人可以帮我弄清楚我可能需要覆盖的设置.我正在使用Unix终端服务器,运行Linux Xterm linux shell.每次我grep "blah" 2> /dev/null在shell提示符下使用命令时,该命令都会运行,grep "blah" 2 > /dev/null并且不用说重定向失败了.xterm版本是X.Org 6.8.99.903(238)

我无法更新或安装任何东西,这是一个锁定的生产服务器.

感谢您对该主题的任何帮助和启发,它使我的grep在高级目录级别使用递归无用.

unix redirect xterm

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

标签 统计

xterm ×10

vim ×4

bash ×1

c ×1

clipboard ×1

copy-paste ×1

cygwin ×1

emacs ×1

key-bindings ×1

keyboard ×1

linux ×1

macos ×1

map ×1

mouse ×1

putty ×1

python ×1

redirect ×1

solaris ×1

telnet ×1

terminal ×1

tkinter ×1

unicode ×1

unix ×1

utf-8 ×1

x11 ×1