快捷键

Windows

Referenceopen in new window

  • Alt+Tab: 应用之间切换
  • win+B: 选择任务托盘。
  • win+Shift+方向键: 移动当前窗口到另外一个屏幕

Vim

vim操作

  • d: delete,删除,该命令会同时将删除内容复制到寄存器中,所以可以有补救机会将误删内容粘贴回来
  • y: yank,复制
  • p: put,粘贴

寄存器

:reg查看寄存器内容

可读写寄存器

  • "":无名寄存器,缺省寄存器时默认使用该寄存器
  • "0:复制专用寄存器,使用y命令会将内容拷贝到无名寄存器和该寄存器
  • "a-"z:命名寄存器,可以通过"ay"ap调用
  • "+:系统剪贴板
  • "*:选择寄存器,保存上次高亮选中的文本 需要注意系统剪贴板对于基于X11系统(Linux)生效,如果使用SSH远程连接必须打开X11 Forwarding选项(ssh -Y)

只读寄存器

  • ".:最后插入的字符串
  • "%:当前文件路径
  • "::最后执行的vim命令
  • "/:上次查找的模式
  • "#:

剪贴板

  • vim提供12个剪贴板,它们的名字分别为vim有11个粘贴板,分别是0、1、2、...、9、a、
  • 如果开启了系统剪贴板,则会另外多出两个:+*
  • 使用:reg命令,可以显示vim中的寄存器内容,顺便查看各个粘贴板里的内容。 vim中使用y会复制到*粘贴板内。

Tmux

Manualopen in new window参考open in new window

  • Ctrl+b x: 关闭当前窗格

Tmux 仓库

  • cmd-new-session.c
    • cmd_new_session_exec
if (!detached && !already_attached) {
		if (server_client_open(c, &cause) != 0) {
			cmdq_error(item, "open terminal failed: %s", cause);
			free(cause);
			goto fail;
		}
	}
  • server-client.c
    • server_client_open:
if (!(c->flags & CLIENT_TERMINAL)) {
		*cause = xstrdup("not a terminal");
		return (-1);
	}

	if (tty_open(&c->tty, cause) != 0)
		return (-1);
  • tty.c
    • tty_open
tty->term = tty_term_create(tty, c->term_name, c->term_caps,
	    c->term_ncaps, &c->term_features, cause);
  • tty-term.c
    • tty_term_create: 比较caps[i]tty_term_codes[j]term->codes[j]设置type,valuecaps[i]=后面的值
if (!tty_term_has(term, TTYC_CLEAR)) {
		xasprintf(cause, "terminal does not support clear");
		goto error;
	}
  • caps值的设置
Last Updated:
Contributors: greatofdream