GNU/Linux >> Belajar Linux >  >> Linux

Menyiapkan Lingkungan Pengembangan Mengkilap dalam Linux di Windows 10

Sementara saya membuat Ruby on Rails bekerja dengan baik di bawah Ubuntu pada Windows 10, saya mengambil kesempatan untuk mengatur lingkungan bash * nix saya, yang sebagian besar menggunakan default. Ya, saya tahu saya bisa menggunakan zsh atau ikan atau kerang lainnya. Ya, saya tahu saya bisa menggunakan emacs dan screen, tapi saya menggunakan Vim dan tmux. Lawan aku. Bagaimanapun, setelah posting saya selesai, saya mulai bermain-main dengan open source .NET Core di Linux (ini berjalan di Windows, Mac, dan Linux, tapi di sini saya menjalankan Linux di Windows. #Inception) dan men-tweet gambar desktop saya.

Omong-omong, saya merasa benar-benar dibenarkan oleh semua minat dalam "mode teks" mengingat posting blog saya tahun 2004 "Windows benar-benar kehilangan perahu TextMode.";)'

Juga, bagi Anda yang SANGAT TIDAK TERTARIK dengan baris perintah, itu keren. Anda dapat berhenti membaca sekarang. Benar-benar baik-baik saja. Saya juga menggunakan Visual Studio DAN Kode Visual Studio. Terkadang saya mengklik dan mouse dan terkadang saya mengetuk dan mengetik. Ada ruang untuk kita semua.

APA ITU SEMUA LINUX DI WINDOWS INI? Berikut adalah FAQ tentang Bash/Windows Subsystem untuk Linux/Ubuntu pada Windows/Snowball in Hell dan beberapa Catatan Rilis terperinci. Ya, itu nyata, dan itu spektakuler. Tidak bisa membaca banyak teks? Berikut adalah video yang saya buat di Ubuntu pada Windows 10.

Beberapa orang bertanya kepada saya bagaimana mereka dapat mengatur instalasi WSL (Windows Subsystem for Linux) mereka menjadi seperti ini, jadi inilah yang saya lakukan. Perhatikan bahwa saya telah menggunakan * nix hidup dan mati selama 20+ tahun, saya sama sekali bukan ahli. Saya, dan telah, Permanen Menengah dalam keterampilan saya. Saya tidak bermimpi di RegEx, dan saya tersinggung karena orang lain dapat memecahkan skrip awk tanpa googling.

Jadi ada beberapa hal yang terjadi di tangkapan layar ini.

  • Menjalankan .NET Core di Linux (di Windows 10)
  • Tema VIM keren dengan>256 warna
  • Norton Komandan Tengah Malam di pojok (terima kasih Miguel)
  • Desqview-esque tmux splitter (dengan dukungan mouse)
  • Beberapa pemetaan ulang hotkey, git prompt, penyelesaian
  • font Ubuntu Mono
  • Warna direktori yang bagus (DIRCOLORS/LS_COLORS)

Mari kita uraikan satu per satu. Dan, sekali lagi, jarak tempuh Anda dapat bervariasi, tidak ada jaminan tersurat maupun tersirat, semua ini dapat menghancurkan dunia Anda, Anda membaca ini di blog. Linux dapat dikonfigurasi tanpa batas dan satu-satunya yang konstan adalah konfigurasi saya dan konfigurasi Anda payah. Sampai saya melihat sesuatu dalam diri Anda yang bisa saya curi.

Menjalankan .NET Core di Linux (di Windows 10)

Karena Linux di Windows 10 adalah (hari ini) Ubuntu, Anda dapat menginstal .NET Core di dalamnya sama seperti Linux lainnya. Inilah instruksi Ubuntu untuk .NET Core's SDK. Anda mungkin memiliki Ubuntu 14.04 atau 16.04 (Anda dapat memutakhirkan Linux di Windows jika Anda mau). Pastikan Anda mengetahui apa yang Anda jalankan dengan melakukan:

~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.2 LTS
Release: 16.04
Codename: xenial
~ $

Jika Anda tidak menggunakan 16.04, Anda dapat dengan mudah menghapus dan menginstal ulang seluruh subsistem dengan perintah ini di cmd.exe (perhatikan /full serius dan menyalakan sistem file Linux):

> lxrun /uninstall /full
> lxrun /install

Atau jika mau, Anda dapat menjalankan ini di dalam bash (akan memakan waktu lebih lama tetapi mempertahankan pengaturan).

CATATAN bahwa Anda memerlukan Windows 10 Creators Edition build 16163 atau lebih baru untuk menjalankan Ubuntu 16.04. Ketik "winver" untuk memeriksa build Anda.

sudo do-release-upgrade

Ketahui apa yang dimiliki Ubuntu Windows 10 Anda saat Anda menginstal .NET Core di dalamnya. Hal lain yang perlu diingat adalah bahwa sekarang Anda memiliki dua .NET Cores, satu Windows dan satu Ubuntu, pada mesin (agak) yang sama. Karena sistem file dipisahkan, itu bukan masalah besar. Saya melakukan pekerjaan pengembangan saya di dalam Ubuntu di /mnt/d/github (yang merupakan drive Windows). Subsistem Linux boleh mengedit file di Linux atau Windows, tetapi jangan "menjangkau" sistem file Linux dari Windows.

Tema Vim keren dengan>256 warna

Tema Vim itu adalah gruvbox dan saya menginstalnya seperti ini. Terima kasih kepada Rich Turner karena telah mengubah saya ke tema ini.

$ cd ~/
$ mkdir .vim
$ cd .vim
$ mkdir colors
$ cd colors
$ curl -O https://raw.githubusercontent.com/morhetz/gruvbox/master/colors/gruvbox.vim
$ cd ~/
$ vim .vimrc

Rekatkan yang berikut ini (tekan 'i' untuk menyisipkan lalu klik kanan/tempel)

set number
syntax enable
set background=dark
colorscheme gruvbox
set mouse=a

if &term =~ '256color'
" disable Background Color Erase (BCE) so that color schemes
" render properly when inside 256-color tmux and GNU screen.
" see also http://snk.tuxfamily.org/log/vim-256color-bce.html
set t_ut=
endif

Kemudian simpan dan keluar dengan Esc, :wq (menulis dan berhenti). Ada banyak sekali tema di luar sana, jadi cobalah sendiri!

Norton Komandan Tengah Malam di pojok (terima kasih Miguel)

Midnight Commander adalah tiruan Norton Commander yang luar biasa yang dimulai oleh Miguel de Icaza, yang dilisensikan sebagai bagian dari GNU. Saya menginstalnya melalui apt, seperti halnya perangkat lunak Ubuntu lainnya.

$ sudo apt-get install mc

Ada dukungan mouse dalam conhost Windows (host konsol) yang menjalankan bash di dalamnya, jadi Anda bahkan akan mendapatkan dukungan mouse dalam Midnight Commander!

Barang bagus.

Desqview-esque tmux splitter (dengan dukungan mouse)

Tmux adalah terminal multiplexer. Ini adalah lingkungan windowing mode teks di mana Anda dapat menjalankan banyak program. Lebih baik lagi, Anda dapat "melepaskan" dari sesi yang sedang berjalan dan memasang kembali dari tempat lain. Karena itu, orang-orang suka menggunakan tmux di server tempat mereka dapat melakukan ssh, mengatur lingkungan, melepaskan, dan memasang kembali dari tempat lain.

CATATAN: Subsistem Windows untuk Linux mematikan semua proses latar belakang saat konsol terakhir keluar. Jadi Anda dapat melepaskan dan melampirkan sesi tmux dengan senang hati, tetapi pastikan Anda tidak menutup setiap konsol di mesin Anda.

Ini adalah gif animasi yang bagus dari saya yang memindahkan splitter di tmux di Windows. YA SAYA TAHU ANDA BISA MENGGUNAKAN KEYBOARD TAPI GIF INI KEREN.

Beberapa pemetaan ulang hotkey, git prompt, penyelesaian

Saya masih belajar tmux tapi ini .tmux.conf saya. Saya telah membuat beberapa perubahan umum untuk mempermudah pembuatan hotkey windows.

#remap prefix from 'C-b' to 'C-a'
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix

# split panes using | and -
bind | split-window -h
bind _ split-window -v
unbind '"'
unbind %
bind k confirm kill-window
bind K confirm kill-server
bind < resize-pane -L 1
bind > resize-pane -R 1
bind - resize-pane -D 1
bind + resize-pane -U 1
bind r source-file ~/.tmux.conf

# switch panes using Alt-arrow without prefix
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D

# Enable mouse control (clickable windows, panes, resizable panes)
set -g mouse on
set -g default-terminal "screen-256color"

Saya menggunakan default Ubuntu .bashrc yang menyertakan pemeriksaan dircolors (lebih lanjut tentang ini di bawah) tetapi saya menambahkan ini untuk git-completion.sh dan git Prompt, serta dua alias ini. Saya suka bisa mengetik "desktop" untuk melompat ke Desktop Windows saya. Dan -x pada Midnight Commander membantu dukungan mouse.

alias desktop="cd /mnt/c/Users/scott/Desktop"
alias mc="mc -x"
export CLICOLOR=1
source ~/.git-completion.sh
PS1='\[\033[37m\]\W\[\033[0m\]$(__git_ps1 " (\[\033[35m\]%s\[\033[0m\])") \$ '
GIT_PS1_SHOWDIRTYSTATE=1
GIT_PS1_SHOWSTASHSTATE=1
GIT_PS1_SHOWUNTRACKEDFILES=1
GIT_PS1_SHOWUPSTREAM="auto"

Penyelesaian Git dapat diinstal dengan:

sudo apt-get install git bash-completion

Ubuntu Mono font

Saya sangat menyukai font Ubuntu Mono, dan saya suka tampilannya saat menjalankan Ubuntu di bawah Windows. Anda dapat mengunduh Keluarga Font Ubuntu gratis. Klik kanan file TTF yang diunduh dan klik kanan dan "Instal," atau seret ke C:\windows\fonts. Kemudian klik sudut kiri atas jendela konsol Bash mana saja dan ubah font Anda menjadi Ubuntu Mono.

Warna direktori yang bagus (DIRCOLORS/LS_COLORS)'

Jika Anda memiliki latar belakang prompt perintah hitam, maka warna default untuk direktori akan menjadi biru tua di atas hitam, yang menyebalkan. Untungnya Anda bisa mendapatkan file .dircolors dari seluruh wep, atau mengatur variabel lingkungan LS_COLORS (pastikan untuk mencari LS_COLORS untuk Linux, bukan yang lain, LSCLORS yang berbeda di Mac).

Saya berakhir dengan "dircolors-solarized" dari sini, mengunduhnya dengan wget atau curl dan memasukkannya ke ~. Kemudian konfirmasikan ini ada di .bashrc Anda (kemungkinan sudah)

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'

alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi

Unduh file .dircolors apa pun yang membuat Anda senang (pastikan nama file berakhir sebagai ".dircolors," jadi Anda mungkin perlu cp yoursourcefile ~/.dircolors lalu restart konsol Anda.

Buat perbedaan besar bagi saya, dan seperti yang saya sebutkan, itu benar-benar, luar biasa, sangat dapat dikonfigurasi.

Tinggalkan Linux ANDA di Windows tips di komentar!

Sponsor: Tahukah Anda bahwa VSTS dapat berintegrasi erat dengan Octopus Deploy? Tonton Damian Brady dan Brian A. Randell saat mereka menunjukkan cara mengotomatiskan penerapan dari VSTS ke Octopus Deploy, dan mendemonstrasikan dasbor VSTS Octopus Deploy yang baru widget. Menonton sekarang

Linux
  1. Menyiapkan lingkungan pengembangan python virtualenv di Debian Linux

  2. Pengembangan fleksibel di Linux, apa lingkungan gratis yang bagus?

  3. Mengatur variabel lingkungan Linux

  1. Termux mengubah Android menjadi lingkungan pengembangan Linux

  2. Bagaimana cara mengeluarkan kunci Windows 8+ tertanam saya dari lingkungan Linux?

  3. Buat tautan simbolik NTFS dari dalam Linux

  1. 10 ALASAN MENGUBAH WINDOWS 10 KE LINUX

  2. C # di lingkungan linux

  3. exFAT vs NTFS di Linux