Aunque no es obligatorio, sugiero utilizar cmnder como integrador de todas estas tecnologias, basicamente es un wrapper con mejors de ConEmu y Clink.
Cmder es un paquete de software creado por pura frustración por la ausencia de buenos emuladores de consola en Windows. Se basa en un software increíble y está condimentado con el esquema de color Monokai y un diseño de aviso personalizado, luciendo sexy desde el principio.
- ES un wrapper que se ayuda con los mejores.
Piense en cmder más como un paquete de software que como una aplicación separada. Toda la magia está sucediendo a través de ConEmu y Con mejoras de Clink.
- Portabilidad total
Llévelo contigo en memoria USB o en la nube, para que su configuración, alias e historial puedan ir a donde quiera que vaya. No volverá a ver ese horrible mensaje de Windows nunca más.
- Gitbash, cygwin, mintty otras mejoras integradas
Oooh si! Si decide usar la versión un poco más grande de git-for-windows, tendrá todos los comandos de Unix listos en PATH para que pueda usar git init o cat al instante en cada máquina.
en nuestro caso vamos a agregar ademas MSYS ya que tiene un manager de programas que cygwin trae solo en modo gráfico, y en el caso de mintty ni siquiera concidera seguir instalando mas paquetes.
MSYS2 es una distribución de software y plataforma de construcción para Windows, En esencia, es una reescritura independiente de MSYS, basada en la moderna Cygwin (capa de compatibilidad POSIX) y MinGW-w64 con el objetivo de una mejor interoperabilidad con el software nativo de Windows. Proporciona un bash shell, Autotools, sistemas de control de revisión y similares para construir aplicaciones nativas de Windows usando cadenas de herramientas MinGW-w64.
Cuenta con un sistema de gestión de paquetes Pacman el mismo que viene pordefault para distros ArchLinux.
Vamos a instalar
Alternativamente puedes instalarlos con Choco Package manager de Windows que tambien recomiendo mucho
Abrimos Cmd como Administrador e Intalamos
Cmder
choco install cmnder -Y
Msys2
choco install msys2 -Y
Ojo: Aqui debemos solo tomar en cuenta los path de instalacion si usamos chocolate ya que el mete a cmnder en C:\tools y a msys2 en "Archivos de programas", puedes moverlos a las rutas que este texto sugieren o bien cambiar las rutas por las que te queden mejor a ti,
Para trabajar con el home de windows y no el que crea para msys2 necesitamos la variable %HOME% en windows, yo uso rapidee, instalada con chocolate
choco install rapidee -Y
Abrimos rapidee y agregamos HOME
Luego vamos a editar aspectos de performance y para que nos cambie el home por default al home de windows vamos a abrir el recien instalado msys2
Instalamos zsh, vim y git
$pacman -S man vim nano zsh git
Utilerias basicas
$pacman -S zip unzip
$pacman -S mingw64/mingw-w64-x86_64-jq
$pacman -S openssh rsync make
con vim antes ya instalado, creamos cache de los usuarios grupos
$ mkpasswd -l -c > /etc/passwd
$ mkgroup -l -c > /etc/group
editamos ya con msys2 usando vim por ejemplo:
$vim /etc/nsswitch.conf
# Begin /etc/nsswitch.conf passwd: files group: files db_enum: cache builtin db_home: windows db_shell: cygwin desc db_gecos: cygwin desc # End /etc/nsswitch.conf
Reiniciamos equipo preferentemente, Listo.
Abre una terminal, Settings -> setup
Le damos al boton "+"
Abrimos el cmder y nueva task
1.- new task bash::msys2
set CHERE_INVOKING=1 & set MSYSTEM=MINGW64 & set MSYS2_PATH_TYPE=inherit & set "PATH=%ConEmuDrive%\msys64\mingw64\bin;%ConEmuDrive%\tools\msys64\usr\bin;%PATH%" & %ConEmuBaseDirShort%\conemu-msys2-64.exe -new_console:p %ConEmuDrive%\tools\msys64\usr\bin\bash.exe --login -i -new_console:C:"%ConEmuDrive%\tools\msys64\msys2.ico"
3.- new task bash::msys2-zsh
set CHERE_INVOKING=1 & set MSYSTEM=MINGW64 & set MSYS2_PATH_TYPE=inherit & set "PATH=%ConEmuDrive%\msys64\mingw64\bin;%ConEmuDrive%\tools\msys64\usr\bin;%PATH%" & %ConEmuBaseDirShort%\conemu-msys2-64.exe -new_console:p %ConEmuDrive%\tools\msys64\usr\bin\zsh.exe --login -i -new_console:C:"%ConEmuDrive%\tools\msys64\msys2.ico"
4.- Instalacion de Oh My Zsh
$sh -c "$ (curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
5.- clone a useful dotfiles repo with zsh, tmux, task, etc etc dotfiles
Ya podemos bien trabajar con cmder
Linux BASH
Linux ZSH
Lo primero es crear un .bat (en mi caso C:\tools\cmder\vscode.bat)
@echo off
SET CurrentWorkingDirectory=%CD%
SET CMDER_ROOT=C:\tools\cmder
CALL "%CMDER_ROOT%\vendor\init.bat"
CD /D %CurrentWorkingDirectory%
Luego en visual code en settings.json
"terminal.integrated.shell.windows":
"C:\\WINDOWS\\System32\\cmd.exe",
"terminal.integrated.shellArgs.windows":[
"/K",
"C:\\tools\\cmder\\vscode.bat"
],
"terminal.integrated.automationShell.linux": ""
si todo va bien con eso es mas que suficiente
si instalamos cmder
en eclipse: windows -> preferences -> Terminal -> LocalTerminal -> Add..
Los siguientes parametros
- path: C:\tools\Cmder\vendor\conemu-maximus5\ConEmu\ConEmuC64.exe
- arguments: cmd /k C:\tools\Cmder\vendor\init.bat
- icon: C:\tools\Cmder\icons\cmder_purple.ico (Opcional)
Listo!!
Ya no estrañes tanto tu linux terminal
Para intellij, ctl + alt + s
shell_path: C:\Windows\system32\cmd.exe /k C:\tools\Cmder\vendor\init.bat