各种平台常用命令和快捷键

目录

windows的cmd命令

Visual Studio的快捷键

VSCode快捷键

VSCode功能

Linux命令

vim命令

模式转换

光标移动

删除

复制粘贴

撤销操作和还原撤销操作

查找

SVN命令


windows的cmd命令

切换盘符到D盘d:
查看文件夹下文件及文件夹(ls)dir <path>
删除文件del <filename>
强制删除文件del /F /S /Q <filename>

Visual Studio的快捷键

复制当前行并粘贴到下一行ctrl+D
快速注释和取消选中内容,ctrl+shift+/

VSCode快捷键

查询工作区内文件

ctrl+p

查询各种插件命令ctrl+shift+p
(多行)注释和取消ctrl+/
块注释和取消shift+alt+a(这个容易被微信QQ等工具的截图快捷键覆盖)
向下/向上复制行shift+alt+↑/↓

VSCode功能

查看所有VSCode快捷方式左下角齿轮->键盘快捷方式(Keyboards Shortcuts)
工作区各种设置文件->首选项->设置
增加其他文件夹到工作区文件->将文件夹添加到工作区
重命名工作区名字文件->将工作区另存为

Linux命令

常见

创建新文件touch
创建新文件夹mkdir
进入文件夹cd
查看文件夹下文件或文件夹ls (ll等价于ls -l)
复制粘贴cp
删除rm
移动/重命名mv
查看当前路径pwd

相对常见

以人类可读方式递归显示path下各文件大小,其中文件夹显示的大小是它本身的大小,不包括里面文件的大小ll -h <path>
以人类可读方式递归显示path下各文件夹真实大小du -h <path>
以人类可读方式只递归一层显示path下文件夹真实大小du -h <path> --max-depth=1
以人类可读方式显示磁盘大小和利用率df -h
查看cpu占用top (可以自己下载安装htop等更好用的工具)
将文件输出到屏幕cat
将文件首几行输出到屏幕head
将文件末几行输出到屏幕tail
将文件末几行输出到屏幕,文件有新输入会将新输入输出,ctrl+c退出tailf
管道,将前面的输出作为后面的输入|(逻辑或的符号)
从文本文件或管道数据流中筛选出匹配的行或数据,适用各种正则表达grep
列出进程ps
杀死进程kill
查找find <path> -name "<regex-filename>"
查找which
查找whereis
修改file文件或目录权限为nnn(三个二进制表示为三位数的数字,一般775就足够了)chmod <nnn> <file>
修改文件或目录权限chown
压缩tar
压缩zip
跨服务器传输文件scp
跨服务器传输文件nc
将命令结果实时输出到屏幕,常用于周期性执行命令watch
创建软链接ln -s <target,即被指向的文件夹> <source,即当前目录的软链接名>
查看端口是否空闲netstat

少见

通过模式查找文件内容awk
通过模式查找文件内容,比awk功能少且使用更简单sed

vim命令

模式转换

可以参考下面两个链接

Vim操作的四种模式 - 走看看

Vim编辑器五大模式介绍

以下<n>表示数n

光标移动

普通/默认模式下

跳转到文件头gg
跳转到文件末行首字符

shift+g,即G

跳转到当前行行首0或HOME键
跳转到当前行非空格的第一个字符^
跳转到当前行行末$或END键

向右移动n个单词,n忽略则为1

<n>w
向左移动n个单词,n忽略则为1<n>b

移动到第n行非空格的第一个字符

:<n>或<n>G
移动到当前行中下n个指定字符x,n忽略则为1<n>f<x>

向左右上下移动n个字符,n忽略则为1

向左n个

向右n个

向上n个

向下n个

<n>h或<n>←

<n>l或<n>→

<n>k或<n>↑

<n>j或<n>↓

在左大括号{处,移动到匹配的右大括号}处%
向上翻屏ctrl+b或PgUp
向下翻屏ctrl+f或PgDn

删除

普通/默认模式下

剪切/删除当前行开始的n行,n忽略则为1

<n>dd
剪切/删除当前行光标开始的n行内容<n>D

删除当前光标后面的n个字符,n忽略则为1

<n>x

复制粘贴

普通/默认模式下

复制当前行开始的n行,n忽略则为1

<n>yy
粘贴在光标所在行下一行p
粘贴在光标所在行上一行P

其他方式参考下面文章

vim 复制粘贴_IC learner的博客-CSDN博客_vim复制粘贴快捷键

撤销操作和还原撤销操作

普通/默认模式下

撤销u
还原撤销ctrl+r

查找

普通/默认模式下。斜杠、问号、冒号开头的会进入命令模式

正向模糊查找字符串string/string
反向模糊查找字符串string?string
正向精确查找字符串the,\<匹配词首,\>匹配词尾/\<the\>
反向精确查找字符串the,\<匹配词首,\>匹配词尾?\<the\>
正向模糊查找当前单词对应字符串g*
反向模糊查找当前单词对应字符串g#
正向精确查找当前单词*
反向精确查找当前单词#
在正向或反向查找基础上找下一个出现的stringn
在正向或反向查找基础上找上一个出现的stringN

命令模式其他命令

普通/默认模式下通过冒号进入命令模式,这部分命令应该都可以写在.vimrc中,使之在vim启动时就执行这些命令。

取消高亮nohl
显示各行为第几行set nu
取消显示各行为第几行set nonu
各种设置编码格式

set encodings=utf-8

set fileencoding=utf-8

set fileencodings=ucs-bom,utf-8,cp936,gb18030,latin1

set termencoding=utf-8

tab替换成空格,默认8个set expantab
tab替换的空格数改成4个set ts=4
空格对齐设置set shiftwidth=4
语法高亮syntax on

SVN命令

“/”表示多选一,“<>”表示根据实际情况修改,“[]”表示可选项

从服务端获取整个版本库或分支或其他目录,checkout服务端项目到本地

svn export <server_path>

svn co/checkout <server_path> [--username <username> --password <password>]

添加文件,同git addsvn add <file>
删除文件,同git rmsvn rm/remove/del/delete <file>
移动文件svn mv/move <oldfile> <newfile>
将本地代码提交到服务端版本库(svn没有本地暂存区、版本库的概念,同git commit + git push)svn ci/commit -m "<commit description>"
从服务器更新到本地分支/文件夹(同git pull),猜测不会覆盖原本文件,可能产生冲突。svn up/update
查看当前分支。info里有不少信息,里面URL就是当前分支。还包括了版本库根目录、版本库最后版本,当前分支/文件夹最后修改的作者、版本和时间等svn info
恢复本地修改svn revert [-R] <path>
查看版本状态(同git status)svn st/stat/status [-q/-u/-v] <path>
查看日志(同git log)svn log <path>
比较修改后文件和基础版本区别(同git diff)svn di/diff <path>

比较版本m和n的区别

svn di/diff -r <m>:<n> <path>
合并两个版本,一般会产生冲突(类似git merge)svn merge -r <m>:<n> <path>
冲突解决流程svn st | grep mine(不一定对)
解决冲突
svn resolved <file>
svn commit -m "<合并分支,解决冲突>"
在版本库中的文件和目录列表svn ls/list <path>
创建版本控制下的新目录svn mkdir <path>
本地创建分支mybranch并提交到服务端cd <server_path>
svn cp/copy trunk branches/mybranch
[svn st/status]
svn ci/commit -m "创建了一个新分支mybranch"
直接在服务端创建分支svn copy <server_path>/trunk <server_path>/branches/mybranch -m "创建了一个新分支mybranch"
切换分支到刚刚新建的分支(其实如果已经吧所有branches、tags、trunk里面分支都拉取下来了的话,就不用切换分支了,直接在对应路径下修改即可。只有只拉取了某一个分支的时候,才需要用svn switch到其他分支)svn co/checkout/sw/switch <server_path>/branches/mybranch
查找分支创建时的版本cd <server_path>/branch
svn log --stop-on-copy (最后一个条目即创建时的版本)
查找分支创建时的版本(方法二)cd trunk
svn log -q -stop-on-copy <server_path>/mybranch
合并分支到主干cd <server_path>/trunk
svn merge -r <mybranch version>:HEAD <server_path>/branches/mybranch
帮助svn h/?/help

锁定/解锁某path

对该path提交前不自动解锁

svn lock/unlock <path>

svn ci -m "提交备注" --no-unlock <path>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值