当前位置: 首页 > 科技观察

如何在Windows系统和Linux系统中创建一个好的终端?

时间:2023-03-16 19:48:45 科技观察

本文转载自公众号《核心阅读》(ID:AI_Discovery)。在十几年的开发生涯中,笔者热衷于使用shell。命令永远不会改变,我可以创建可靠且快速的自定义快捷方式,但默认设置低于标准。阅读本文将带您了解如何在您的系统上获得一个很棒的shell+终端。术语shell用于执行命令。终端是运行shell的包装器。可以在终端上设置字体、字体大小、配色方案以及对多个选项卡的支持。终端仿真器的示例包括GNOME终端、KDE??的Konsole、Terminator和XTerm。对于Linux系统,作者建议保持默认值。Windows适用于WindowsTerminal;Mac适用于iTerm2。图片来源:MartinThoma)(Linux上的四个终端仿真器(GnomeTerminal、Konsole、XTerm、Terminator)。XTerm不直接支持选项卡。其他打开2个选项卡。它们都运行Bashshell。系统shell包括ZSH、Bash、fish。Windows系统典型的shell是PowerShell,执行echo$0可以查看正在运行的shell。Linux系统使用较多的是Bashshell。来源:MartinThoma(Gnome终端Linuxshell中的三个(ZSH、Bash、fish),ZSHshell已经发生了重大变化;Bashshell和fishshell显示默认值。如您所见,fishshell具有其他两个shell所缺少的内联自动提示功能。)为每个shell提示提示。提示符是写在光标前的内容,表示可以输入指令,提供有用的背景信息,在上面的例子中,提示符包含用户名moose,当前电脑pc08,当前工作目录~/GitHub/MartinThoma/flake8-简化,行为ivegitbranchfeature/19以及进行了±修改的事实。字体无论选择哪一种,字体都很重要。你可能想要等宽字体,相信我,你必须安装powerline字体。powerlinefont使shell使用类似图像的字符。它可以使提示看起来更好。笔者比较喜欢UbuntuMono和DroidSansMono:上排是UbuntuMono,下排是DroidSansMono。两者都很好,UbuntuMono稍好一些。|资料来源:MartinThoma还有FiraCode和JetbrainsMono等“编程字体”。我不喜欢它们,因为很难认出写的是什么。WindowsTerminal首先确保您安装了WindowsTerminal。启动终端并找到设置。这是指向下方的“小箭头”:单击“设置”。|来源:MartinThoma可以根据自己的喜好选择JSON文件进行更改。如下://ThisfilewasinitiallygeneratedbyWindowsTerminal1.2.2381.0//Itsshouldstillbeusableinnewerversions,butnewerversionsmighthaveadditional//settings,helptext,orchangesthatyouwillnotseeunlessyouclearthisfile//andletusgenerateanewoneforyou.//要查看默认设置,请在单击“设置”按钮时按住“alt”。.ms/terminal-documentation{"$schema":"https://aka.ms/terminal-profiles-schema","defaultProfile":"{2c4de342-38b7-51cf??-b940-2309a097f518}","initialCols":120,"initialRows":30,//Youcanaddmoreglobalapplicationsettingshere.//要了解有关全局设置的更多信息,请访问https://aka.ms/terminal-global-settings//如果启用,选择会自动复制到您的剪贴板。"copyOnSelect":lipfalse,//如果启用:formattedtocopiedtocopy"false,//Aprofile指定与信息配对执行的命令关于它的外观和感觉。//它们中的每一个都将出现在新选项卡下拉列表中,//并且可以使用`wt.exe-pxxx`从命令行调用//要了解有关配置文件的更多信息,请访问https://aka.ms/terminal-profile-settings"profiles":{"defaults":{//Putsettingsherethatyouwanttoapplytoallprofiles.},"list":[{//Makechangesheretothepowershell.exeprofile."guid":"{61c54bbd-c2c6-5271-96e7-009a87ff44bf}","name":"WindowsPowerShell","commandline":"powershell.exe","hidden":false,"fontFace":"DejaVuSansMonoforPowerline"},{//Makechangesheretothecmd.exeprofile."guid":"{0caa0dad-35be-5f56-a8ff-afceeeaa6101}","name":"CommandPrompt","commandline":"cmd.exe","hidden":false},{"guid":"{2c4de342-38b7-51cf??-b940-2309a097f518}","hidden":false,"name":"Ubuntu","source":"Windows.Terminal.Wsl","fontFace":"DejaVuSansMonoforPowerline","colorScheme":"SolarizedDark",},{"guid":"{b453ae62-4e3d-5e58-b989-0a998ec441b8}","hidden":false,"name":"AzureCloudShell","source":"Windows.Terminal.Azure"}]},//Addcustomcolorschemestothisarray.//要了解有关颜色方案的更多信息,请访问https://aka.ms/terminal-color-schemes“方案”:[{“背景”:“#073642”,“黑色”:“#073642”,“蓝色”:“#268BD2”,“brightBlack”:“#002B36”,“brightBlue”:“#839496”,"brightCyan":"#93A1A1","brightGreen":"#586E75","brightPurple":"#6C71C4","brightRed":"#CB4B16","brightWhite":"#FDF6E3","brightYellow":"#657B83","t;cyan":"#2AA198","foreground":"#FDF6E3","green":"#859900","name":"SolarizedDark","purple":"#D33682","re??d":"#D30102","white":"#EEE8D5","yellow":"#B58900"},{"background":"#FDF6E3","black":"#073642","blue":"#268BD2","brightBlack":"#002B36","brightBlue":"#839496","brightCyan":"#93A1A1","brightGreen":"#586E75","brightPurple":"#6C71C4","brightRed":"#CB4B16","brightWhite":"#FDF6E3","brightYellow":"#657B83","cyan":"#2AA198","foreground":"#073642","green":"#859900",“名称”:“SolarizedLight”,“紫色”:"#D33682","re??d":"#D30102","white":"#EEE8D5","yellow":"#B58900"},]//Addcustomkeybindingstothisarray.//Tounbindakeycombinationfromyourdefaults.json,setthecommandto"unbound".//要了解有关键绑定的更多信息,请访问https://aka.ms/terminal-keybindings"keybindings":[//复制并粘贴绑定到Ctrl+Shift+CandCtrl+Shift+Vinyourdefaults.json。//ThesetwolinesadditionallybindthemtoCtrl+CandCtrl+V.//要了解有关选择的更多信息,请访问https://aka.ms/terminal-selection{"command":{"action":"copy","singleLine":false},"keys":"ctrl+c"},{"command":"paste","keys":"ctrl+v"},//按Ctrl+Shift+F打开搜索框{"command":"find","keys":"ctrl+shift+f"},//按Alt+Shift+D打开新窗格。//-"split":"auto"使此窗格朝该方向打开tprovidesthemostsurfacearea.//-"splitMode":"duplicate"makesthenewpaneusethefocusedpanesprofile.//要了解有关窗格的更多信息,请访问https://aka.ms/terminal-panes{"command":{"action":"splitPane","split":"auto","splitMode":"duplicate"},"keys":"alt+shift+d"},{"command":"closeTab","keys":"ctrl+w"},{"command":"newTab","keys":"ctrl+t"}]}下载并安装所有4种“DejaVuSansMonoPowerline”字体。在所有已知的系统上,字体安装是一个过程:双击字体,然后弹出带有“安装”按钮的窗口。Linux和Windows终端:AminalAminal是一个用Go语言编写的终端模拟器。可用于Linux,Windows,Mac可以通过配置文件来配置颜色,快捷键等,首先需要在系统中安装配置Go语言,Ubuntu的例子如下:$sudoapt-getinstallgolanglibgl1-mesa-devxorg-dev$exportGOPATH="$HOME/go"$exportGOBIN=$(goenvGOPATH)/bin然后就可以安装运行aminal了:$goget-ugithub.com/liamg/aminal$aminalLinux系统:Gnome终端可以通过编辑文件来自定义Gnome终端。这里笔者设置了12号的UbuntuMono派生的powerline常规字体。来源:MartinThoma该命令是为zsh设置的,因为这是笔者最喜欢的shell。图片来源:MartinThoma颜色设置为曝光深色(从左到右,从上到下)背景:#2e3436/#555753深红色:#cc0000/浅红色:ef2929深绿色:#4e9a06/浅绿色:#8ae234深色黄色:#c4a000/浅黄色:#fce94f深蓝色:#3465a4/浅蓝色:#729fcf深紫色:#75507b/浅紫色:#ad7fa8深蓝绿色:#06989a/浅蓝绿色:#34e2e2深灰色:#d3d7cf/浅灰色:#eeeeecLinux系统:fishshell安装fishshell:sudoapt-getinstallsfish将终端仿真器的默认shell更改为fish。在Gnome终端中,它被称为“自定义命令”然后安装“OhMyFish”:curl-Lhttps://get.oh-my.fish|fish然后将主题设置为agnoster:omfinstallagnosteromfthemeagnoster别名命令应该保持简短。因此,为命令创建一个别名,这是原始命令的简短版本。最常见的是将目录向上一级更改。如果它在/home/user/foo/bar中,则转到/home/user/foo。大多数shell需要键入cd..。我喜欢将它缩写为...所以别名就是alias..='cd..'。语法可能会有所不同,具体取决于shell。对于Bash、ZSH和fish:aliasshort=long应该在bash中插入到~/.bashrc,在ZSH中插入到~/.zshrc,在fish中是不一样的。一些别名如下:#Shortenthingsalias..=cd..alias...=cd../../aliasll=ls-alFaliasla=ls-Aaliasl=ls-CFaliasc=clear#Ifyourterminalsupportscolors,usethem!aliaslsls=ls--color=autoaliasgrepgrep=grep--color=autoaliasfgrepfgrep=fgrep--color=autoaliasegrepegrep=egrep--color=autoaliasdiff=colordiff#Worksonlyifyouhavenotify-sendaliasalert=通知发送--urgency=low-i"$([$?=0]&&echoterminal||echoerror)""$(history|tail-n1|sed-es/^s*[0-9]+s*//;s/[;&|]s*alert$//)"到总结:使用一个像样的终端模拟器。Linux系统推荐使用GnomeTerminal,Mac系统推荐使用iTerm2,Windows系统推荐使用WindowsTerminal。安装更好的电力线字体,例如UbuntuMonoPowerline。在终端仿真器中根据您的喜好调整字体、字体大小和颜色。安装好外壳。Linux系统推荐使用fishshell,Windows系统推荐使用PowerShell。根据需要调整shell的提示。我个人喜欢agnoster主题。