- Development Environment on Windows
- Outdated Content
After installing a fresh copy of Windows 10, do following steps.
Open Advanced System Settings using rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,1
.
- Click on Change button
- Rename
Open time and date settings using control timedate.cpl
.
- Set time zone
- Use 24 hour time format
Windows 10 automatic updates mess up with drivers, rendering my machine unstable. I had to reinstall Windows 10 at least 10 times before learning my lesson to never to trust Windows 10 automatic updates.
- Open
services.msc
. Stop and disable Windows Update Service - Open driver update setting. Run
rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,2
. Click on Device Installation Settings and disable drivers updates. - Open
gpedit.msc
. Computer Configuration -> Administrative Templates -> Windows Components -> Windows Update -> Configure Automatic Updates- Enable it
- Choose Notify to download and notify to install
Update Windows Defender manually. Later use Windows Update MiniTool for installing selective updates.
Also download this tool from Microsoft support website. It hasn't been of any use at the time of writing but just keep it in case it may prove useful.
- Install Windows Update MiniTool
- Install SyncTazor
- Sync with other computers
- Install 1Password
- Install Firefox Developer Edition
- Enable Firefox sync
- Login to RescueTime plugin
- Configure Pray Times plugin
- Install 1Password extension
- Install RescueTime
- Install ConEmu Windows Terminal
- Open Settings -> Integration. Click on Register to add ConEmu to context menu
- Install Clink.
- Install Revo Uninstaller Freeware
- Install SharpKeys
- Install Git for Windows
- Setup Qt
- Install Latest Qt Creator
- Install Qt
5.5.1
for Windows 32bit (VS 2013)
- Install CDB debugger for Qt
- Download Windows 10 SDK online installer. Offline installer is not available
- Either install it directly or choose to download only
- Installer will present a menu of features. Select Debugging Tools for Windows (~100MB)
- Install it manually from download folder, if you had opted for download option
- Install Visual Studio 2013
- Install Win32 OpenSSL
1.0.1
Light into Windows System folders - Install Zeal Documentation Explorer
- Download Qt5 documentation
- Download C++ documentation
- Install AutoHotKey
- Install 7-Zip
- Install Slack
- Install Chocolatey Packages
- Install Chocolatey
- Install Ag - The Silver Searcher
- Install Python2 and Python3
- Install Ruby
- Visual Studio Code
- Install Visual Studio Code Settings Sync
- Download Visual Studio Code settings
- Install Inconsolata fonts
- Install Evernote
- Install CopyQ Clipboard Manager
- Install Don't Sleep Utility
- Alternate is Caffeinated but it requires .Net 3.5
- Another alternate is Caffeine but it keeps inserting
<F15>
in Vim - Set options in Don't Sleep to Start Minimized and Start with Windows
- Install Franz
- Clone fork of plugins repository
- Paste plugins
- Google Calendar
- Google Spreadsheets
- Setup
- Inbox for personal email
- Inbox for office email
- Personal Google Calendar
- Google Spreadsheets
- Telegram
- IRC Cloud
Create a folder bin
in %HOMEPATH%
, using mkdir %HOMEPATH%\bin
command. This folder is referred to as bin
, henceforth.
Download following apps and extract them in bin
folder, and add their path to %PATH%
variable.
To edit %PATH%
variable, open Environment Variables using rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,3
.
You can check path of each command using where
command. For example,
> where gvim
C:\Users\talha\bin\complete-x64\gvim.exe
You can use it to test each downloaded program is available from %PATH%
.
Use SharpKeys to,
- Map Caps Lock to Left Ctrl key
- Map Left Ctrl to Left Win key
- Map Left Win to Right Ctrl key
To invert the direction of scrolling (natural scrolling on macOS), run following command in PowerShell with administrative privileges.
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopWheel 1 }
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopHScroll -EA 0 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopHScroll 1 }
See SuperUser answer for details.
Natural direction of scrolling is how you scroll on iPhone, Android and other touch devices. Content scrolls in the direction of your fingers.
Open mouse properties using control main.cpl
.
- In Buttons tab, turn on ClickLock
- In Settings, set duration to the shortest possible
- In Pointer Options tab, enable Show Location of Pointer
- In Wheel tab, change scroll speed to 1
Create a Repos
directory in %HOMEPATH%
. Clone dotfiles repository.
Start a cmd
tab with administrative privilege in ConEmu. Create symbolic links thusly,
mklink %HOMEPATH%\.gitconfig %HOMEPATH%\Repos\dotfiles\git\gitconfig
mklink %HOMEPATH%\.githelper %HOMEPATH%\Repos\dotfiles\git\githelper
mklink %HOMEPATH%\bin\diff-highlight %HOMEPATH%\Repos\dotfiles\bin\diff-highlight
Open Vim and check you have Python2, Python3, Ruby, and Lua working, using following commands,
:echo has('python3')
:echo has('python')
:echo has('ruby')
:echo has('lua')
Start cmd
with administrative privilege in ConEmu. Create symbolic links thusly,
mklink %HOMEPATH%\.vimrc %HOMEPATH%\Repos\dotfiles\vim\vimrc
mklink /d %HOMEPATH%\.vim\ %HOMEPATH%\Repos\dotfiles\vim\vim\
Open Powershell and type these commands
md ~\.vim\autoload
$uri = 'https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
(New-Object Net.WebClient).DownloadFile($uri, $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("~\.vim\autoload\plug.vim"))
Open Vim, ignore errors and issue :PlugInstall!
to install all plugins and themes.
Restart Vim. This time there should be no errors.
It is possible that diff or Gdiff (in Vim Fugitive) will not work. Tuxproject Vim does not include a diff.exe
.
Check output of
:!where diff
If the result is empty or Gdiff is not working then add diff.exe
from Git installation to your %PATH%
.
Open your Environment Variables, edit %PATH%
to add C:\Program Files\Git\usr\bin
.
See this Github issue for details.
I am using portable version of Vim from Tuxproject which does not come with an installer. It does not get added to the Windows context automatically.
To add gVim to context menu, open registry regedit
.
- Navigate to
HKEY_CLASSES_ROOT\*\shell
. - Add new key under it
gVim
. - Change value of
Default
toOpen with gVim
- Add a new string value, named
Icon
. Set it's value to gVim executable, in this case"C:\Users\talha\bin\complete-x64\gvim.exe"
- Add a new sub key under
gVim
. Name itcommand
- Set
command
's default value to gVim executable, in this case"C:\Users\talha\bin\complete-x64\gvim.exe" "%1"
See this link for details.
To auto start the AutoHotKey script every time windows starts. Start cmd
with administrative privilege in ConEmu. Create symbolic links thusly,
mklink "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\init.ahk" %HOMEPATH%\Repos\dotfiles\autohotkey\init.ahk
You must have Clink installed before you install AutoJump
- Clone AutoJump
- Add patch
- Open
cmd
- Make sure Clink is working in
cmd
- Switch to AutoJump directory
- Install AutoJump using
python install.py
- Successful installation will output a path, add this path your
%PATH%
.
You can view Clink settings and configuration directory using clink set
command.
To have Gruvbox dark theme like background in cmd
or Git shell, use following color codes:
Color Values | Red | Green | Blue |
---|---|---|---|
Screen Background | 44 | 44 | 44 |
Screen Text | 218 | 198 | 144 |
- Add Urdu language support to Windows 10
- Install Phonetic Keyboard
- Install fonts
I need to review and update following portion of this file.
These configuration files do not work out of the box. These are specific to my Mac OSX system.
Following are my not so comprehensive and perhaps out of date notes.
- David DeSandro blog entry is a good start point.
- Cheat sheets has more comprehensive entry.
- Vrome is a Google Chrome extension.
- SO thread has got some good comments.
- I decided to use Thiago Alves/Townk's plugin.
- Townk's plugin tutorial.
- tpope/vim-markdown is mostly used. But it does not conceal text markers in Markdown file.
- xolox/vim-markdown does the concealing. See this image for example.
- But you have to switch to xolox/vim-markdown
conceal
branch to get his code. Usegit checkout -b conceal remotes/origin/conceal
to checkout the branch.
- I tried command-t but I could not make it work. It requires that your copy of Vim should be compiled with the same version of ruby with which you compiled command-t, which effectively means you have to compile Vim yourself.
- I took the easier way, use CtrlP. It is basically the same as Command-T but written in pure Vimscript. This means it neither requires Ruby support enabled in Vim nor does it require the compilation of some Ruby extension implemented in C.
- Other extensions are either not what I wanted, for example, LustyJuggler, or not actively maintained any more like FuzzyFinder and fuzzy file finder.
- Bash completion depends on bash_completion package. MacPorts users can do
sudo port install git-core +bash_completion
. - Git Utilities You Can't Live Without blog entry has an entry for Git aware PS1.