Ubuntu 安装使用Powerline

本文详细介绍了如何在Ubuntu环境下安装和配置Powerline状态栏插件,包括解决Python版本冲突,字体配置以及如何在Bash Shell中启用Powerline。同时,提供了遇到常见错误的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://github.com/zhiweichen95/vimrc

1 安装powerline

如果您是使用 Ubuntu Linux 14.10 以后的版本,建议可以直接使用 universe repository 所打包好的套件自动安装:

sudo apt-get install powerline

2 把Powerline添加到Vim中

~/.vimrc中添加下边语句

python from powerline.vim import setup as powerline_setup
python powerline_setup()
python del powerline_setup

set laststatus=2

之后执行命令:source ~/.vimrc立即生效vimrc

启动vim可能会提示python那三条语句在此版本不适用,这是因为Ubuntu16+中sudo apt-get install vim安装的vim只支持Python3,像YCM、Powerline等插件都需要Python2的支持,

E319: Sorry, the command is not available in this version: python from powerline.vim import setup as powerline_setup

具体警告提示如下:
在这里插入图片描述

解决办法:
安装 vim-nox-py2,命令为:

sudo apt-get install vim-nox-py2

输入完这个命令后,大部分又会报出E: Unable to locate package vim-nox-py2的错误,具体如下图:
在这里插入图片描述
此时需要添加源,在/etc/apt/sources.list文件最上面添加一下内容:

deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu xenial-security main universe

之后,执行命令sudo apt-get update进行源更新。
再运行安装 vim-nox-py2命令,应该还会报出类似Depends: vim-common (= 2:7.4.1689-3ubuntu1.2) but 2:8.0.1453-1ubuntu1 is to be installed等的警告。
在这里插入图片描述
需要使用:
前两个使用sudo apt-get install vim-common=2:7.4.1689-3ubuntu1.2这样的命令进行安装,最后一个使用sudo apt-get install libperl5.22 的命令安装。

3 使用fontconfig配置Powerline 字体

  • 下载最新版的Powerline符号字体

    cd ~
    wget https://github.com/Lokaltog/powerline/raw/develop/font/PowerlineSymbols.otf
    
  • 将下载的字体移动到字体文件夹中
    为保险起见,我们将字体文件复制到~/.local/share/fonts/

    mv PowerlineSymbols.otf ~/.local/share/fonts/
    
  • 更新系统字体缓存

    sudo fc-cache -f -v
    
  • 下载并移动对应的字体配置文件

    wget https://github.com/Lokaltog/powerline/raw/develop/font/10-powerline-symbols.conf
    mkdir -p ~/.config/fontconfig/fonts.conf
    mv 10-powerline-symbols.conf ~/.config/fontconfig/fonts.conf/
    

    使用 Powerline

    安装好 Powerline 之后,若要在 Bash Shell 中使用,只要在 ~/.bashrc 中加入以下内容:

    	POWERLINE_SCRIPT=/usr/share/powerline/bindings/bash/powerline.sh
        if [ -f $POWERLINE_SCRIPT ]; then
           source $POWERLINE_SCRIPT
        fi
    

    附录:
    如果有兴趣的读者,也可以在这个链接 fonts for Powerline 中下载更加适配powerline的字体,对于windows用户而言,直接下载zip压缩包,右键install.ps1文件,“使用PowerShell运行”即可。

    本人尝试了在XShell中是欧克的,但是在MobaXterm中会乱码,不知道咋回事,望各位读者指教。

    附上效果图:

    • bash
      在这里插入图片描述
    • vim
      在这里插入图片描述
### 如何在 Ubuntu安装 NS3 网络模拟器 #### 准备工作 为了确保顺利安装NS3,在Ubuntu环境下建议先更新软件源并安装必要的依赖工具。这可以通过执行以下命令完成: ```bash sudo apt update && sudo apt upgrade -y sudo apt install g++ python3 cmake build-essential autoconf automake libxmu-dev qtbase5-dev libqt5opengl5-dev zlib1g-dev coinor-libipopt-dev bison flex gcc-multilib g++-multilib libc6-i386 libncurses5-dev tcl8.6-dev tk8.6-dev python3-pip python3-tk git subversion mercurial bzr cvs unzip wget curl vim nano htop screen tmux gdb valgrind strace ltrace tcpdump nmap iperf3 wireshark ethtool iotop iftop sysstat dstat atop powertop cpufrequtils lm-sensors stress ngrep mtr netcat-openbsd socat dnsutils bind9-host whois traceroute bridge-utils ebtables arping iptables ufw fail2ban rkhunter chkrootkit clamav apparmor auditd logwatch snort suricata ossec-hids psad fwsnort chntpw testdisk foremost scalpel extundelete photorec scrypt john hydra hashcat aircrack-ng reaver cowpatty bully pyrit bettercap mitmproxy sslscan wapiti nikto dirb wfuzz sqlmap medusa patator theharvester recon-ng metasploit-framework exploitdb seclists cewl amass sublist3r eyewitness urlcrazy dnsgen crobat knockpy findomain assetnote-subfinder aquatone nuclei waybackurls hakrawler ffuf dalfox gf httpx mage ripper jq rustscan todoman calcurse newsboat mpv youtube-dl ffmpeg imagemagick graphviz dot2tex texlive-latex-base latexmk biblatex-biber pandoc doxygen dia plantuml yEd jupyter-notebook spyder rstudio sublime-text atom vscode geany codeblocks clion idea intellij goland phpstorm webstorm rubymine pycharm datagrip rider android-studio blender inkscape krita gimp darktable rawtherapee digikam shotwell simple-scan simplescreenrecorder obs-studio vokoscreen gtk-recordmydesktop asunder audacity ardour hydrogen qsynth zynaddsubfx calf-plugins invada-studio-plugins-lv2 lsp-plugins swh-plugins tap-plugins zam-plugins lv2-calf.lv2 lv2-invada.lv2 lv2-lsp.lv2 lv2-swh.lv2 lv2-tap.lv2 lv2-zam.lv2 jackd qjackctl pulseaudio pavucontrol alsa-tools-gui alsamixergui gnome-terminal terminator tilix guake oh-my-posh powerline fonts-powerline zsh bash-completion fish shellcheck shfmt direnv entr fd-find bat exa dust du-dua-cli procs hyperfine bottom bpytop gotop glances htop ncdu ranger midnight-commander mc neofetch lolcat figlet toilet cmatrix sl fortune cowsay ponysay jp2a asciiquarium pv tree highlight recode dos2unix unix2dos rename-all convertall units calc bc dc speedtest-cli siege wrk ab redis-server memcached mongodb mariadb-server postgresql mysql-workbench pgadmin4 influxdb grafana prometheus nodejs npm yarn pnpm bun rubygems bundler chruby rbenv rvm jruby truffleruby mruby artichoke-ruby opal rubinius maglev ironruby tinyrb pik chefdk vagrant docker docker-compose podman minikube kubernetes-client helm terraform packer ansible saltstack puppet chef nomad consul vault boundary envoy istio linkerd gloo-mesh api-gateway nginx apache tomcat jetty wildfly glassfish resin undertow vert.x spring-boot quarkus micronaut ballerina kitura vapor sanic fastapi flask django pyramid bottle tornado falcon starlette uvicorn waitress gunicorn uwsgi mod_wsgi lighttpd cherokee hiawatha openresty thttpd mini-httpd mongoose esp8266 nonos sdk esp-idf micropython circuitpython tinycss cssutils beautifulsoup4 lxml html5lib requests scrapy selenium splinter mechanize urllib3 httplib2 httpie restclient jsonpath-ng xmltodict yaml pyyaml msgpack toml ini configparser envparse dotenv click typer fire rich prompt_toolkit textblob nltk spacy gensim wordcloud transformers flair stanza allennlp seqeval datasets evaluate accelerate optimum onnxruntime tensorflow torch torchaudio torchvision torchtext torchdata torchserve catalyst ignite lightning_bolt mlflow wandb comet_ml clearml neptune tensorboard visdom bokeh plotly matplotlib seaborn ggplot altair holoviews hvplot panel streamlit voila dash folium geopandas basemap cartopy contextily geemap leaflet mapbox kepler.gl deck.gl three.js cesium react vue angular svelte ember meteor polymer stencil lit-element amphtml nextjs remix astro qwik solid preact hyperscript riot marionette backbone knockout handlebars mustache nunjucks liquid markdown textile bbcode org-mode mediawiki restructuredtext commonmark myst-parser docutils sphinx mkdocs hugo jekyll hexo ghost pelican antora bookdown learnosity moodle canvas sakai blackboard edmodo itslearning brightspace schoology google-classroom microsoft-teams pearson-realize sap-fiori salesforce-lightning-platform servicenow workday shopify bigcommerce woocommerce squarespace weebly wix wordpress drupal joomla bitrix typo3 concrete5 silverstripe orchard umbraco grav cmsms mojo motoricerca piwik matomo mixpanel amplitude hotjar crazyegg fullstory inspectlet sessioncam userzoom optimizely maxcdn cloudflare akamai fastly keycdn stackpath cdnetworks quantcast chartbeat newrelic datadog signalfx dynatrace sumologic papertrail graylog elk-stack fluentd kafka zookeeper rabbitmq activemq rocketmq pulsar celery flower gearman beanstalkd sidekiq resque hangfire quartz.net bull moqui airflow luigi prefect dagster argo oozie azkaban chronos seneca microservices grpc thrift capnp flatbuffers protocol-buffers avro protobuf zeromq nanomsg mqtt coap ubiqoss ros DDS omnetpp simgrid anylogic arena witness simul8 flexsim emprise powersim studio itools isee systems vensim sdexpress insightmaker causalloop stockflow system dynamics agent-based modeling discrete-event simulation montecarlo stochastic optimization genetic algorithms particle swarm optimization simulated annealing tabu search ant colony optimization bee colony optimization harmony search differential evolution evolutionary strategies estimation of distribution algorithm extremal optimization artificial immune systems cultural algorithms memetic algorithms scatter search path relinking variable neighborhood search greedy randomized adaptive search procedure iterated local search large neighborhood search guided local search threshold accepting record-to-record travel great deluge ruin and recreate breakout local search population-based incremental learning cross entropy method random-key encoding biased random-key genetic algorithm grouping genetic algorithm ordering genetic algorithm permutation flowshop scheduling jobshop scheduling vehicle routing problem traveling salesman problem quadratic assignment problem bin packing
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值