While you ask for window management system you mention features like find/replace, file management etc. which is usually not part of Window Management, but a Desktop Environment, so you should be looking for separate tools for that. For general tools I would suggest having a look at http://suckless.org, they provide nice list of "do one thing and do it well" applications, which follow Unix philosophy.
I do not think you will find any WM which is "code editing" specific, but there are plenty of minimalistic window managers who are very much configurable to adapt to your daily needs. If you are looking into some minimal window managers, then I would suggest looking at mouse-less (or keyboard focused) tiling window managers. There are many from old to new which are usable:
- Bspwm — bspwm is a tiling window manager that represents windows as the leaves of a full binary tree. It has support for EWMH and multiple monitors, and is configured and controlled through messages. I use this one personally and I am very happy with the results.
- awesome — Highly configurable, next generation framework window manager for X. It is very fast, extensible and licensed under the GNU GPLv2 license. Configured in Lua, it has a system tray, information bar, and launcher built in. There are extensions available to it written in Lua. Awesome uses XCB as opposed to Xlib, which may result in a speed increase. Awesome has other features as well, such as an early replacement for notification-daemon, a right-click menu similar to that of the *box window managers, and many other things.
- dwm — Dynamic window manager for X. It manages windows in tiled, monocle and floating layouts. All of the layouts can be applied dynamically, optimising the environment for the application in use and the task performed. does not include a tray app or automatic launcher, although dmenu integrates well with it, as they are from the same author. It has no text configuration file. Configuration is done entirely by modifying the C source code, and it must be recompiled and restarted each time it is changed.
- Ion3 — Tiling tabbed X11 window manager designed with keyboard users in mind. It was one of the first of the “new wave" of tiling windowing environments (the other being LarsWM, with quite a different approach) and has since spawned an entire category of tiling window managers for X11 – none of which really manage to reproduce the feel and functionality of Ion. It uses Lua as an embedded interpreter which handles all of the configuration.
- i3 — Tiling window manager, completely written from scratch. i3 was created because wmii, our favorite window manager at the time, did not provide some features we wanted (multi-monitor done right, for example) had some bugs, did not progress since quite some time and was not easy to hack at all (source code comments/documentation completely lacking). Notable differences are in the areas of multi-monitor support and the tree metaphor. For speed the Plan 9 interface of wmii is not implemented.
- Ratpoison — Simple Window Manager with no fat library dependencies, no fancy graphics, no window decorations, and no rodent dependence. It is largely modeled after GNU Screen which has done wonders in the virtual terminal market. Ratpoison is configured with a simple text file. The information bar in Ratpoison is somewhat different, as it shows only when needed. It serves as both an application launcher as well as a notification bar. Ratpoison does not include a system tray.
This is manually picked list from what I have used during the years. Source and more information: https://wiki.archlinux.org/index.php/Window_manager#Tiling_window_managers
Update
Also, depending on your development environment and toolset, if you find spending a lot of time in the terminal, you have too look into useing tmux
or screen
as they offer many ways to manage multiple terminal windows, split them etc.